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

wpisanie tablicy jednowymiarowej w dwuwymiarową

Ostatnio zmodyfikowano 2015-01-12 18:42
Autor Wiadomość
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:


C/C++
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 :

C/C++
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]
P-124698
alixir
» 2015-01-12 08:20:38
Skoro ma być 5x5 to dlaczego deklarujesz mniejszą?
char tab2[ 4 ][ 4 ];
P-124705
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 :)
P-124734
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.
P-124743
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.
P-124749
« 1 »
  Strona 1 z 1