#include<iostream>
#include<stdlib.h>
#include<time.h>

using namespace std;

string slowa[] = {"kajak", "rzodkiew", "budynek"};
int liczbaBledow = 6;
int liczbaSlow = 3;

string wybierzSlowo()
{
    srand(time(NULL));
    return slowa[rand() % liczbaSlow];
}

bool slowoJestOdgadniete(bool zgadnieteLitery[], string slowo)
{
    for(int i = 0; i < slowo.length(); i++)
    {
        if(!zgadnieteLitery[i])
        {
            return false;
        }
    }
    return true;
}

int zaznaczWystapieniaLitery(bool zgadnieteLitery[], string slowo, char litera)
{
    int wystapieniaLitery = 0;
    for(int i = 0; i < slowo.length(); i++)
    {
        if(litera == slowo[i])
        {
            zgadnieteLitery[i] = true;
            wystapieniaLitery++;
        }
    }
    return wystapieniaLitery;
}

void wezObecneSlowo(bool zgadnieteLitery[], string slowo)
{
    for(int i = 0; i < slowo.length(); i++)
    {
        if(zgadnieteLitery[i])
        {
            cout << slowo[i];
        }
        else
        {
            cout << "_";
        }
    }
    cout << "\n";
}

int main()
{
    string slowo = wybierzSlowo();
    int pozostaleBledy = liczbaBledow;
    bool zgadnieteLitery[slowo.length()] = {};

    while(pozostaleBledy > 0 && (!slowoJestOdgadniete(zgadnieteLitery, slowo)))
    {
        char litera;
        cout << "Wskaz litere: \n";
        cin >> litera;

        if(zaznaczWystapieniaLitery(zgadnieteLitery, slowo, litera) == 0)
        {
            pozostaleBledy--;
            cout << "Litera " << litera << " nie wystapila w slowie.\n";
            cout << "Pozostalo Ci " << pozostaleBledy << " szans.\n";
        }
        else
        {
            cout << "Litera " << litera << " wystapila w slowie.\n";
            wezObecneSlowo(zgadnieteLitery, slowo);
        }
    }

    if(pozostaleBledy > 0)
    {
        cout << "Gratulacje!\n";
    }
    else
    {
        cout << "Przegrales!\n";
    }
}
