Masz tutaj ode mnie zdrowo przekombinowany kod do tego zadania.. taki bonus :D
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; const unsigned int TAB_SIZE=4*(9+4); struct c_Gracz { bool Karty[TAB_SIZE]; int PosiadaneKarty[TAB_SIZE]; int IloscPosiadanychKart; c_Gracz():Karty{false},IloscPosiadanychKart(-1){;} void Losuj() { int temp; do temp=rand()%TAB_SIZE; while(Karty[temp]); Karty[temp]=true; IloscPosiadanychKart++; PosiadaneKarty[IloscPosiadanychKart]=temp; } void CzytajKarte(int ID) { static string Figury[13]={"2","3","4","5","6","7","8","9","10","J","D","K","A"}; static string Znaki[4]={"Kier","Karo","Trefl","Pik"}; cout<<Figury[ID%13]<<":"<<Znaki[ID/13]; } void WypiszPosiadaneKarty() { cout<<"Posiadane karty: "; for(int i=0; i<IloscPosiadanychKart; i++) { CzytajKarte(PosiadaneKarty[i]); cout<<""; } } bool SprawdzKarte(int ID) { return PosiadaneKarty[ID]; } }; int main() { srand(time(NULL)); c_Gracz Gracz; for(int i=0; i<5; i++) Gracz.Losuj(); Gracz.WypiszPosiadaneKarty(); cin.get(); }