#include <iostream>
#include <locale> // Do obsługi lokalizacji
using namespace std;
int main( ) {
// Ustawienie lokalizacji na polski
setlocale( LC_ALL, "polish" ) ;
string haslo = "zebra" ; // Hasło do odgadnięcia
string odgadywane( haslo.length ( ) , '*' ) ; // Ciąg gwiazdek, który reprezentuje odgadywane hasło
int proby = 10 ; // Maksymalna liczba prób
char odp; // Zmienna do przechowywania odpowiedzi (litery)
// Pętla, która trwa dopóki użytkownik nie zgadnie hasła i ma dostępne próby
while ( ( odgadywane ! = haslo) && ( proby > 0 ) ) {
cout << "Zgadnij hasło: " << odgadywane << endl;
cout << "Pozostało prób: " << proby << endl;
cout << "Podaj literę: " ;
cin >> odp;
bool znaleziono = false ;
// Sprawdzenie, czy wprowadzona litera znajduje się w haśle
for ( int i = 0 ; i < haslo.length ( ) ; ++ i) {
if ( haslo[ i] == odp && odgadywane[ i] == '*' ) {
odgadywane[ i] = odp;
znaleziono = true ;
}
}
if ( znaleziono) {
cout << "Dobrze! Litera " << odp << " znajduje się w haśle!" << endl;
} else {
cout << "Niestety, litera " << odp << " nie znajduje się w haśle." << endl;
proby-- ; // Zmniejszamy liczbę prób, jeśli litera była błędna
}
}
if ( odgadywane == haslo) {
cout << "Gratulacje! Odgadłeś hasło: " << haslo << endl;
} else {
cout << "Nie udało się odgadnąć hasła. Hasło brzmiało: " << haslo << endl;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bG9jYWxlPiAvLyBEbyBvYnPFgnVnaSBsb2thbGl6YWNqaQp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICAvLyBVc3Rhd2llbmllIGxva2FsaXphY2ppIG5hIHBvbHNraQogICAgc2V0bG9jYWxlKExDX0FMTCwgInBvbGlzaCIpOwoKICAgIHN0cmluZyBoYXNsbyA9ICJ6ZWJyYSI7IC8vIEhhc8WCbyBkbyBvZGdhZG5pxJljaWEKICAgIHN0cmluZyBvZGdhZHl3YW5lKGhhc2xvLmxlbmd0aCgpLCAnKicpOyAvLyBDacSFZyBnd2lhemRlaywga3TDs3J5IHJlcHJlemVudHVqZSBvZGdhZHl3YW5lIGhhc8WCbwogICAgaW50IHByb2J5ID0gMTA7IC8vIE1ha3N5bWFsbmEgbGljemJhIHByw7NiCiAgICBjaGFyIG9kcDsgLy8gWm1pZW5uYSBkbyBwcnplY2hvd3l3YW5pYSBvZHBvd2llZHppIChsaXRlcnkpCgogICAgLy8gUMSZdGxhLCBrdMOzcmEgdHJ3YSBkb3DDs2tpIHXFvHl0a293bmlrIG5pZSB6Z2FkbmllIGhhc8WCYSBpIG1hIGRvc3TEmXBuZSBwcsOzYnkKICAgIHdoaWxlICgob2RnYWR5d2FuZSAhPSBoYXNsbykgJiYgKHByb2J5ID4gMCkpIHsKICAgICAgICBjb3V0IDw8ICJaZ2FkbmlqIGhhc8WCbzogIiA8PCBvZGdhZHl3YW5lIDw8IGVuZGw7CiAgICAgICAgY291dCA8PCAiUG96b3N0YcWCbyBwcsOzYjogIiA8PCBwcm9ieSA8PCBlbmRsOwogICAgICAgIGNvdXQgPDwgIlBvZGFqIGxpdGVyxJk6ICI7CiAgICAgICAgY2luID4+IG9kcDsKCiAgICAgICAgYm9vbCB6bmFsZXppb25vID0gZmFsc2U7CgogICAgICAgIC8vIFNwcmF3ZHplbmllLCBjenkgd3Byb3dhZHpvbmEgbGl0ZXJhIHpuYWpkdWplIHNpxJkgdyBoYcWbbGUKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGhhc2xvLmxlbmd0aCgpOyArK2kpIHsKICAgICAgICAgICAgaWYgKGhhc2xvW2ldID09IG9kcCAmJiBvZGdhZHl3YW5lW2ldID09ICcqJykgewogICAgICAgICAgICAgICAgb2RnYWR5d2FuZVtpXSA9IG9kcDsKICAgICAgICAgICAgICAgIHpuYWxlemlvbm8gPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoem5hbGV6aW9ubykgewogICAgICAgICAgICBjb3V0IDw8ICJEb2JyemUhIExpdGVyYSAiIDw8IG9kcCA8PCAiIHpuYWpkdWplIHNpxJkgdyBoYcWbbGUhIiA8PCBlbmRsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvdXQgPDwgIk5pZXN0ZXR5LCBsaXRlcmEgIiA8PCBvZHAgPDwgIiBuaWUgem5hamR1amUgc2nEmSB3IGhhxZtsZS4iIDw8IGVuZGw7CiAgICAgICAgICAgIHByb2J5LS07IC8vIFptbmllanN6YW15IGxpY3pixJkgcHLDs2IsIGplxZtsaSBsaXRlcmEgYnnFgmEgYsWCxJlkbmEKICAgICAgICB9CiAgICB9CgogICAgaWYgKG9kZ2FkeXdhbmUgPT0gaGFzbG8pIHsKICAgICAgICBjb3V0IDw8ICJHcmF0dWxhY2plISBPZGdhZMWCZcWbIGhhc8WCbzogIiA8PCBoYXNsbyA8PCBlbmRsOwogICAgfSBlbHNlIHsKICAgICAgICBjb3V0IDw8ICJOaWUgdWRhxYJvIHNpxJkgb2RnYWRuxIXEhyBoYXPFgmEuIEhhc8WCbyBicnptaWHFgm86ICIgPDwgaGFzbG8gPDwgZW5kbDsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==
stdout
Zgadnij hasło: *****
Pozostało prób: 10
Podaj literę: Niestety, litera nie znajduje się w haśle.
Zgadnij hasło: *****
Pozostało prób: 9
Podaj literę: Niestety, litera nie znajduje się w haśle.
Zgadnij hasło: *****
Pozostało prób: 8
Podaj literę: Niestety, litera nie znajduje się w haśle.
Zgadnij hasło: *****
Pozostało prób: 7
Podaj literę: Niestety, litera nie znajduje się w haśle.
Zgadnij hasło: *****
Pozostało prób: 6
Podaj literę: Niestety, litera nie znajduje się w haśle.
Zgadnij hasło: *****
Pozostało prób: 5
Podaj literę: Niestety, litera nie znajduje się w haśle.
Zgadnij hasło: *****
Pozostało prób: 4
Podaj literę: Niestety, litera nie znajduje się w haśle.
Zgadnij hasło: *****
Pozostało prób: 3
Podaj literę: Niestety, litera nie znajduje się w haśle.
Zgadnij hasło: *****
Pozostało prób: 2
Podaj literę: Niestety, litera nie znajduje się w haśle.
Zgadnij hasło: *****
Pozostało prób: 1
Podaj literę: Niestety, litera nie znajduje się w haśle.
Nie udało się odgadnąć hasła. Hasło brzmiało: zebra