Răspuns :
Răspuns:
#include <iostream>
#include <cstring>
using namespace std;
int v[50];
int main(){
bool verificare=0;
int poz=0,lg1,lg2;
char cuv1[31],cuv2[31];
cin.getline(cuv1,31);
cin.getline(cuv2,31);
lg1=strlen(cuv1);
lg2=strlen(cuv2);
for(int i=0;i<lg1;++i){
for(int j=poz;j<=lg2;++j){
if(cuv1[i]==cuv2[j]){
verificare=1;
poz=j+1;
break;
}else{
verificare=0;
}
}
if(verificare==0){
break;
}
}
if(verificare==1){
cout<<"DA";
}else{
cout<<"NU";
}
return 0;
}
Explicație:
Salut! Am citit cele 2 cuvinte si apoi am creat cate un for pentru fiecare.
Primul for ia fiecare litera in parte din primul cuvant, iar al doilea for cauta litera respectiva in cel de-al doilea cuvat. La gasirea literei variabila poz primeste o valoare noua, iar urmatoare litera va fi cautata de la acea pozitie(probabil ai vazut in exemplu ca la aceasta problema este importanta ordinea in care literele din primul cuvant se afla in al doilea).
if(verificare==0){
break;
}
Aceasta comanda opreste for-ul principal daca o litera din primul cuvant nu se afla in al doilea la iar variabila valoare iese din for cu valoarea 0.
Sper ca ti-am fost de ajutor!
Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.