Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania i odpowiedzi
Viewing all articles
Browse latest Browse all 83216

Odpowiedź: Losowanie kart - zadanie z książki C++

$
0
0

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();
}

 


Viewing all articles
Browse latest Browse all 83216