Zmiana kodu na C

0

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

1

W tym kodzie niewiele jest typowego C++, to raczej "C with cout".

couty zamieniasz na printfy a operacje na stringach zastępujesz odpowiednimi funkcjami (strcpy itp.)

0

W tym problem że tego nie potrafię np:


      cout << "Runda " << runda << " : " << slamacz // wylosowane słowo prezentujemy człowiekowi
           << setw(5)  << zn    << " : ";

NIe wiem jak tu printf wstawić bo to " <<" mnie gubią

1
char slamacz[ /*jakiś rozmiar*/ ];
...

printf("Runda %i : %s%5i :", runda, slamacz, zn);

1 użytkowników online, w tym zalogowanych: 0, gości: 1