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

Generowanie talii kart w strukturze

Ostatnio zmodyfikowano 2015-12-06 23:44
Autor Wiadomość
dott94
Temat założony przez niniejszego użytkownika
Generowanie talii kart w strukturze
» 2015-12-06 22:44:00
C/C++
struct talia
{
    int figura;
    int kolor;
};
//(...)
const int karty = 52;
talia tab_tal[ karty ];
//(...)
int licznik = 0;
while( licznik < karty - 1 ) {
    for( int j = 1; j <= 4; j++ )
         for( int i = 2; i <= 14; i++ ) {
        tab_tal[ licznik ].figura = i;
        tab_tal[ licznik ].kolor = j;
    }
    licznik++;
}

Powyższy fragment kodu z założenia miał wpisywać do tablicy struktur poszczególne karty, tj. najpierw dla koloru o oznaczeniu "1" karty o nominałach oznaczonych liczbami od 2 do 14, a następnie tę czynność powtarzać dla kolejnych oznaczeń koloru. Jednak po uruchomieniu programu wywołanie dowolnego elementu tablicy skutkuje pojawieniem się pary liczb 14 i 4. Co zrobiłem nie tak? Z góry jestem wdzięczny za podpowiedź i pomoc.
P-141550
ArgonZapan
» 2015-12-06 23:44:56
C/C++
struct talia
{
    int figura;
    int kolor;
};
//(...)
const int karty = 52;
talia tab_tal[ karty ];
//(...)
int licznik = 0;
while( licznik < karty - 1 ) { //-< to się wykona 51x
    for( int j = 1; j <= 4; j++ ) //-< to się wykona 4 razy
    for( int i = 2; i <= 14; i++ ) //-< to się wykona 13x
         tab_tal[ licznik ].figura = i; //-< ta linijka i poniżej po wykonaniu tych 3 pętli wykona się (51*4*13=2652) razy, a powinna tylko 52 razy
   
    tab_tal[ licznik ].kolor = j;
}
licznik++;
}

Za dużo pętli
while( licznik < karty - 1 ) -- taka pętla wykona się od [0..50], a masz tablice od [0..51], po za tym ona jest tam nie potrzebna
P-141554
« 1 »
  Strona 1 z 1