Proszę o pomoc w zadaniu domowym z książki C++ przewodnik dla początkujących. Za zadanie mam wylosować pięć kart i obliczyć ich wartość (w pokerze). Udało mi się stworzyć talię, z której wybieram 5 kart. Zrobiłem to w formie stringa, czyli mam rękę składającą się np. "as pik", "dama kier", "dwojka karo", "dwojka trefl", "czworka kier". Nie mogę wpaść na pomysł jak to przełożyć na jakieś wartości (np. żeby program wyliczył, że mam parę dwójek). Być może źle zacząłem cały program tworząc tablice stringów. Poniżej mój kod:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
string kolory[4] ={"kier", "karo", "trefl", "pik"};
string wartosci[13] ={"dwojka", "trojka", "czworka", "piatka", "szostka", "siodemka",
"osemka", "dziewiatka", "dziasiatka", "walet", "dama", "krol",
"as"};
string cala_talia[52];
string moja_reka[7];
int ile_bylo = 0;
bool czy_byla(string cala_talia[], int ile, string karta){
int licznik = 0;
do {
if (karta == cala_talia[licznik])
{return true;}
else licznik++;
} while(licznik<ile);
return false;
}
void tasowanie() {
bool bylo = false;
string karta;
while (ile_bylo < 52){
do
{
karta = wartosci[rand() % 13] +" "+ kolory[rand() % 4];
if(!czy_byla(cala_talia, ile_bylo, karta))
{cala_talia[ile_bylo] = karta;
ile_bylo++;
bylo=true;}
}while(bylo==false);
}
for ( int i = 0; i < 52; i++ ) {
cout<<i<<" "<<cala_talia[i]<<endl;
}
}
void wybieranie() {
for (int i = 0; i < 5; i++) {
{moja_reka[i] = cala_talia[i];
cout<<i<<" "<<moja_reka[i]<<endl;}
}
}
int main() {
srand(time(NULL));
tasowanie();
wybieranie();
return 0;
}