Nie znam się na c++ nie wiem jakie tam są biblioteki i dlatego chciałbym wiedzieć jak będzie wyglądał ten kod w C.
z góry dzięki za pomoc.
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
string Z[1296],skoder,slamacz,sklucz,sklucz2,sl;
int zn,i,i1,i2,j,runda;
srand((unsigned)time(NULL));
for(i = 0; i < 1296; i++)// tworzymy zbiór Z
{
Z[i] = ""; i2 = i;
for(j = 0; j < 4; j++)
{
Z[i] += char(65 + (i2 % 6));
i2 /= 6;
}
}
zn = 1296; // liczba kodów w Z
for(runda = 1; runda < 6; runda++) // rozgrywka
if(zn > 0)
{
i2 = rand() % zn;
slamacz = Z[i2];
for(i = i2 + 1; i < zn; i++) Z[i - 1] = Z[i]; // usuwamy wylosowane słowo ze zbioru Z
zn--;
cout << "Runda " << runda << " : " << slamacz // wylosowane słowo prezentujemy człowiekowi
<< setw(5) << zn << " : ";
cin >> sklucz; // odczytujemy kod klucza
if(sklucz == "xxxx") break; // analizujemy dane
for(i2 = i1 = 0; i1 < zn; i1++) // ze zbioru Z wyrzucamy nie pasujące kody
{
skoder = Z[i1];
sl = slamacz;
sklucz2 = "";
for(i = 0; i < 4; i++)
if(skoder[i] == slamacz[i])
{
sklucz2 += 'x';
skoder[i] = '#'; // wartownik w1
sl[i] = '$'; // wartownik w2
}
for(i = 0; i < 4; i++)
if(skoder[i] != '#')
for(j = 0; j < 4; j++)
if(skoder[i] == sl[j])
{
sklucz2 += 'o';
sl[j] = '$'; // wartownik w2
break;
}
if(sklucz == sklucz2) Z[i2++] = Z[i1];
}
zn = i2;
}
else break;
cout << endl; // wyświetlamy pozostałe kody w Z
if(sklucz != "xxxx")
{
for(i = 1; i <= zn; i++) cout << Z[i-1] << " ";
cout << endl << endl;
}
return 0;
}