Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Niezadeklarowana zmienna?

Ostatnio zmodyfikowano 2018-05-19 18:31
Autor Wiadomość
sair
Temat założony przez niniejszego użytkownika
Niezadeklarowana zmienna?
» 2018-05-18 18:09:59
Witam,
mam problem.
Postanowiłem po ponad 6msc przerwie wrócić do zabawy z C++ i już na początek natrafiłem na problem z sortowaniem bąbelkowym.

identifier "zamiana" is undefined
'zamiana': undeclared identifier


C/C++
#include <string>
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;

void sortuj( int t[] ) {
    int pomoc;
    int length = sizeof( t ) / sizeof( int );
    do {
        int zamiana = 0;
        for( int i = 0; i < length; i++ )
       
        if( t[ i ] > t[ i + 1 ] ) {
            pomoc = t[ i ];
            t[ i ] = t[ i + 1 ];
            t[ i + 1 ] = pomoc;
            zamiana++;
        };
    } while( zamiana != 0 );
   
   
};

int main()
{
    int t[ 5 ];
    for( int i = 0; i < 5; i++ )
    {
        cin >> t[ i ];
    }
    sortuj( t );
   
    _getch();
    return 0;
}


Prosiłbym o jakieś wskazówki :)
P-171163
YooSy
» 2018-05-18 19:15:11
zmienna zadeklarowana jest wewnątrz pętli i jest niewidoczna poza tą pętlą.
Zasięg zmiennej jest ograniczony do przestrzeni między klamrami, w których jest zadeklarowana,
a warunek pętli
do { } while()
 jest już poza tą klamrą.
P-171164
sair
Temat założony przez niniejszego użytkownika
» 2018-05-18 19:21:44
Więc jak to rozwiązać?
P-171165
YooSy
» 2018-05-18 19:23:15
Zadeklarować zmienna przed pętlą?
P-171166
sair
Temat założony przez niniejszego użytkownika
» 2018-05-18 19:33:25
Robiłem tak i nadal ten błąd
P-171167
YooSy
» 2018-05-18 19:42:52
Aby na pewno?
C/C++
int zamiana = 0;
do {
    for( int i = 0; i < length; i++ )
   
    if( t[ i ] > t[ i + 1 ] ) {
        pomoc = t[ i ];
        t[ i ] = t[ i + 1 ];
        t[ i + 1 ] = pomoc;
        zamiana++;
    };
} while( zamiana != 0 );

... z tym, że teraz wykonanie choćby jednego obrotu pętli
for
spowoduje uruchomienie nieskończonej pętli
while
.

Co ma robić ta zmienna, bo jej nazwa niczego nie zdradza?
Jest użyta w celu zakończenia pętli, ale...?
P-171168
sair
Temat założony przez niniejszego użytkownika
» 2018-05-18 19:55:28
Jeśli liczba zamian będzie rowna 0 to znaczy że tablica jest posortowana
P-171169
sair
Temat założony przez niniejszego użytkownika
» 2018-05-18 20:25:17
Jakieś sugestie jak to rozwiązac? :/
P-171170
« 1 » 2
  Strona 1 z 2 Następna strona