bubble sort
Ostatnio zmodyfikowano 2014-03-30 20:01
Lvkaz Temat założony przez niniejszego użytkownika |
bubble sort » 2014-03-30 19:47:47 Witam, napisałem "obrazowy" bubble sort ktory pokazuje mi co po kolei robi, natomiast dla niektórych wartości do tabeli przypisuje się zła zmienna, z pamięci. Nie mogę znaleźć błędu czy tam niewyzerowanej zmiennej. Z góry dziękuje za pomoc. (tak wiem, że nie potrzeba tylu zmiennych etc, próbowalem wszystkiego żeby to wyeliminować) pozdr. #include <iostream> #include <ctime> #include <cstdlib> using namespace std;
int main() { srand( time( 0 ) ); int wielkosc = 0; cout << "Ile numerow?" << endl; cin >> wielkosc; int tab[ wielkosc ]; for( int i = 0; i < wielkosc; i++ ) { tab[ i ] = rand() % 20; } cout << "presenting the table, initialized with random numbers:" << endl; for( int j = 0; j < wielkosc; j++ ) { cout << tab[ j ] << " "; } int temp = 0; int counter = 0; cout << "sorting. printing every run now:" << endl; for( int k = 0; k < wielkosc - 1; k++ ) { cout << endl << "run number: " << counter << endl; for( int l = 0; l < wielkosc; l++ ) { if( tab[ l ] < tab[ l + 1 ] ) { temp = tab[ l ]; tab[ l ] = tab[ l + 1 ]; tab[ l + 1 ] = temp; for( int o = 0; o < wielkosc; o++ ) { cout << tab[ o ] << " "; } cout << endl; } temp = 0; } counter++; } cout << endl << "finsihed sorting. final array:" << endl; for( int p = 0; p < wielkosc; p++ ) { cout << tab[ p ] << " "; } return 0; }
|
|
SeaMonster131 |
» 2014-03-30 20:01:21 Tak nie tworzy się tablic, ich rozmiar musi być znany w trakcie kompilacji. int wielkosc = 0; cout << "Ile numerow?" << endl; cin >> wielkosc; int tab[ wielkosc ];
Wychodzisz poza zakres tablicy: for( int l = 0; l < wielkosc; l++ ) { if( tab[ l ] < tab[ l + 1 ] ) { temp = tab[ l ]; tab[ l ] = tab[ l + 1 ]; tab[ l + 1 ] = temp;
Sortowanie bąbelkowe (ang. bubble sort) |
|
« 1 » |