Witam mam przykładowe zadanie jest 4 graczy i mam im rozdzielić karty losowo,karty nie moga sie powtarzać i potem zapisać do do pliku.
Karty od 2 do asa,kolory mają nazwy S,H,D,C
Zrobiłem to mniej więcej tak:
Rozwiązanie wydaje mi się dobre,ale gdzieś program się zawiesza...
#include <iostream>
#include <algorithm>
#include<conio.h>
#include <time.h>
#include <string>
#include <fstream>
using namespace std;
void deal(const string &Filename);
int main()
{
const string filename = "plik.txt";
srand(time(NULL));
deal(filename);
_getch();
}
void deal(const string &Filename)
{
fstream plik;
plik.open(Filename, ios::out);
if (plik.good())
{
string gracz1 = "N ";
string gracz2 = "S ";
string gracz3 = "E ";
string gracz4 = "W ";
string tal[52];
string kol[4] = { "S","H","D","C" };
string post[13] = { "2","3","4","5","6","7","8","9","10","J","D","K","A" };
int z = 0;
for (int i = 0; i < 4; ++i)
{
for (int j = 0; j < 13; ++j)
{
tal[z] = post[j] + kol[i];
z++;
}
}
random_shuffle(begin(tal), end(tal));
for (int i = 0; i < 52; ++i)
{
while (i < 13)
{
gracz1 = gracz1 + tal[i] + " ";
continue;
}
while (i < 26)
{
gracz3 = gracz3 + tal[i] + " ";
continue;
}
while (i < 39)
{
gracz2 = gracz2 + tal[i] + " ";
continue;
}
while (i < 52)
{
gracz4 = gracz4 + tal[i] + " ";
continue;
}
}
cout << "Gracz1 " << gracz1;
plik << gracz1 << endl << gracz3 << endl << gracz2 << endl << gracz4;
}
plik.close();
}