poate te ajuta varianta mea, am pus si comentariu sa fie mai pe inteles, ti-am lasat si tie sa faci partea de citire cuvant din fiser... posibil sa fie si mici scapari la cod nu l-am testat foarte intens dar ideea de baza cam asta e dar se poate face in tzz metode diferite dar am considerat ca poate pe asta o intelegi mai bine. Succes! #include<iostream.h> #include<string.h> #include<windows.h> char a[50],propuse[30],lit; bool b[50],kill; int i,gasite=0,vit=5,j=0; bool verif_lit(char li) // functia care verifica daca a mai fost introdusa litera { for(i=0;i<strlen(propuse);i++) { if (propuse[i]==li) return true; } return false; } void main() { cout<<"Introduceti un cuvant:"; cin>>a; //citim cuvantul strlwr(a); // converteste toate literele in litere mici system("cls"); //curatam ecranul dupa citire cout<<a[0]<<" ";//afisam primul character din cuvant b[0]=true; // memoram in vectorul b starea de afisare a caracterului daca e true il afisam daca nu afisam "_" propuse[j]=a[0]; // memoram in vectorul propuse literele descoperite si propuse de la tastatura j++; // trecem la urmatorul element al vectorului propuse gasite++; // incrementam cu 1 numarul de litere gasite for(i=1;i<strlen(a)-1;i++)//parcurgem vectorul de la al 2 lea caracter pana la penultimul { if((a[i]==a[0])||(a[i]==a[strlen(a)-1])) // verificam daca characterul e identic cu primul sau ultimul { cout<<a[i]<<" "; // daca e il afisam, ii modificam starea de vizibilitate (true) b[i]=true; //si incrementam numarul de litere gasite gasite++; } else // altfel afisam in locul lui o liniuta " _ " { cout<<"_ "; b[i]=false; } } cout<<a[strlen(a)-1]<<endl; // afisam ultimul caracter b[strlen(a)-1]=true; // starea de vizibilitate propuse[j]=a[strlen(a)-1]; j++; gasite++; // in continuare citim litere de la tastatura pana se completeaza cuvantul //sau pana depasim numarul de 5 (vieti) incercari esuate while(vit!=0 && gasite!=strlen(a)) { kill=true; cout<<"\nIntroduceti o litera:"; cin>>lit; if (verif_lit(lit)) // verificam daca litera introdusa a mai fost propusa altfel trecem mai departe cout<<"\nAti mai introdus litera!"<<endl; else { propuse[j]=lit; //adaugam litera in sirul literelor propuse j++; for(i=0;i<strlen(a);i++) // reafisam cuvantul caracter cu caracter cu eventualele modificari { if ((b[i] == true) || (lit==a[i])) { cout<<a[i]<<" "; if (lit==a[i]) { kill=false; // daca regasim litera introdusa atunci nu pierdem viata kill devine false if (b[i]==false) { b[i]=true; gasite++; } } } else cout<<"_ "; } if (kill==true) // daca ramane true atunci am pierdut o viata si scadem numarul lor { vit-=1; cout<<"\nNumar de vieti ramase: "<<vit; } } } if (vit==0) cout<<"\n>>> Ai pierdut! <<<"<<endl; else cout<<"\n*** Felicitari! ***"<<endl; system("pause 0"); }