wpisanie tablicy jednowymiarowej w dwuwymiarową
Ostatnio zmodyfikowano 2015-01-12 18:42
bensik Temat założony przez niniejszego użytkownika |
wpisanie tablicy jednowymiarowej w dwuwymiarową » 2015-01-11 23:47:00 Witam. Chcę przepisać dane z tablicy jednowymiarowej do dwuwymiarowej. Napisałem coś takiego: char tab[ 25 ] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; char tab2[ 4 ][ 4 ];
int a = 0, b = 0, c = 0;
do { while( c < 5 ) { tab2[ b ][ c ] = tab[ a ]; a++; c++; }; b++; c = 0; } while( b < 5 );
a = 0; b = 0;
do { while( b < 5 ) { cout << tab2[ a ][ b ]; b++; } b = 0; a++; } while( a < 5 ); Tablica dwuwymiarowa ma być rozmiaru 5x5. Problem polega na tym, że druga pętla, która ma za zadanie wyświetlać zawartość tab2 gubi mi literki np. zamiast E mam F itd... Nie mam pojęcia gdzie jest błąd. Wg. mnie jest to dobrze heh... Próbowałem zmieniać wartości przy warunkach i udało się żeby wyświetliły się wszystkie znaki i nie powtarzały się. Wygląda to tak : do { while( c < 4 ) { tab2[ b ][ c ] = tab[ a ]; a++; c++; }; b++; c = 0; } while( b < 7 );
a = 0; b = 0;
do { while( b < 4 ) { cout << tab2[ a ][ b ]; b++; } b = 0; a++; } while( a < 7 ); Nie rozumiem jednak dlaczego tak jest. [/b] |
|
alixir |
» 2015-01-12 08:20:38 Skoro ma być 5x5 to dlaczego deklarujesz mniejszą? char tab2[ 4 ][ 4 ]; |
|
bensik Temat założony przez niniejszego użytkownika |
» 2015-01-12 16:41:18 Bo wydawało mi się ze tablica w c++ zaczyna się od 0. Zrobiłem tablice [5][5] i pomogło. Dzięki :) |
|
alixir |
» 2015-01-12 18:09:18 Pierwszą tablicę jednak zadeklarowałeś poprawnie :) Indeksy owszem rozpoczynają się od 0, lecz przy podawaniu wielkości tablicy podajemy ilość elementów. |
|
bensik Temat założony przez niniejszego użytkownika |
» 2015-01-12 18:42:31 No tak. Pierwszą zadeklarowałem poprawnie ponieważ program nie chciał ruszyć kiedy była mniejsza wartość. Dotychczas nie rozumiałem dlaczego. Teraz juz wiem. |
|
« 1 » |