Moozy Temat założony przez niniejszego użytkownika |
Tablica dwuwymiarowa sortowanie » 2016-01-26 20:59:24 Witam mam problem, próbuje napisać program ktory posortuje mi tablice dwuwymiarowa losowo wypelnianymi cyframi z uprzednim podaniem rozmiaru. Nie wiem za bardzo jak sie za to zabrac, probowalem swapem, szukaniem najmniejszej wartosci itp, ale bez skutku :( chodzi mi glownie o to zeby posortowalo mi tablice od najmniejszej wartosci do najwiekszej i wypisalo te liczby w jednym zadku. Moge liczyc na pomoc? :/ |
|
kmlkamilek |
» 2016-01-26 23:36:22 Chodzi ci o coś takiego?
Losowe liczby: [16][9][13] [34][39][5] [67][14][15]
Posortowane: [5][9][13] [14][15][16] [34][39][67]
"[...] wypisalo te liczby w jednym zadku" - mamy przed to rozumieć, że chcesz wyświetlić je jednym rządku? Nawet jeśli robisz błędy ortograficzne, to używaj polskich znaków. Ułatwi to zrozumienie wiadomości i ułatwi czytanie, nawet jeśli są w nim błędy. |
|
pekfos |
» 2016-01-26 23:40:49 chodzi mi glownie o to zeby posortowalo mi tablice od najmniejszej wartosci do najwiekszej i wypisalo te liczby w jednym zadku. |
Skoro chcesz mieć liczby w jednym 'zadku' (wtf?), to po co ci w ogóle tablica dwuwymiarowa? Nie prościej mieć jednowymiarową i posortować ją gotowymi funkcjami? |
|
kmlkamilek |
» 2016-01-26 23:43:28 @pekfos
Też się nad tym zastanawiam. Posortowanie tablicy jednowymiarowej oszczędziło by zbędnego kombinowania. |
|
mateczek |
» 2016-01-27 12:26:34 jak dla mnie nie ma tablic dwu wymiarowych !!! nie wiem jak to fachowo wygląda ale te dane są w rzędzie !!!! #include <iostream> using namespace std;
int main()
{ int tab[ 3 ][ 3 ] = { { 23, 3, 56 }, { 32, 5, 66 }, { 100, - 3, 12 } }; int * tab2 =( int * ) tab; for( int i = 0; i < 9; i++ ) { cout << tab2[ i ] << " "; } }
A tu sortowanie #include <iostream> using namespace std;
int main()
{ int tab[ 3 ][ 3 ] = { { 23, 3, 56 }, { 32, 5, 66 }, { 100, - 3, 12 } }; int * tab2 =( int * ) tab; int pom; for( int i = 0; i < 9; i++ ) for( int j = 0; j < 9 - i - 1; j++ ) if( tab2[ j ] > tab2[ j + 1 ] ) { pom = tab2[ j ]; tab2[ j ] = tab2[ j + 1 ]; tab2[ j + 1 ] = pom; } for( int i = 0; i < 3; i++ ) { for( int k = 0; k < 3; k++ ) cout << tab[ i ][ k ] << " "; cout << endl; } } |
|
pekfos |
» 2016-01-27 12:35:45 jak dla mnie nie ma tablic dwu wymiarowych !!! nie wiem jak to fachowo wygląda ale te dane są w rzędzie !!!! |
A skąd wiesz, o jaką tablicę dwuwymiarową chodzi..? Dla int** to nie zadziała. |
|
Moozy Temat założony przez niniejszego użytkownika |
» 2016-01-27 20:11:48 Ugh, przepraszam za moje chaotyczne pisanie :/ Chodzi mi dokładnie o coś takiego jak opisał kmlkamilek |
|
« 1 » |