Informatică, întrebare adresată de aspyian22, 8 ani în urmă

Verifica daca intr-un cuvant introdus de la tastatura exista un subsir introdus la tastatura, insa daca subsirul se repeta de 2 ori sau mai mult programul va spune ca nu exista acel subsir.
Am reusit sa fac partea doar cand gaseste subsirul, mai am nevoie de partea in care gaseste daca acesta se repeta.
De exemplu: Introduc cuvantul Mihai si subsirul de litere Mih, programul va spune ca subsirul se regaseste in cuvant.

//
#include
#include
using namespace std;
int main()
{
char a[20],b[20];
char *k;
int i=0;
cout<<"Introduceti cuvantul: ";
cin>>a;
cout<<"Introduceti grupul de litere: ";
cin>>b;

k=strstr(a,b);
if (k != NULL)
cout<<"Da"< else
cout<<"Nu"<

}

Răspunsuri la întrebare

Răspuns de lucaciucandrei
1

#include<iostream>

#include<cstring>

using namespace std;

int main() {

   char s[101], ss[101];

   cin.getline(s, 101);

   cin.getline(ss, 101);

   int k = 0;

   char * p = strstr(s, ss);

   while (p != NULL) {

       k++;

       p = strstr(p + 1, ss);

   }

   if (k == 1)

       cout << "Da";

   else

       cout << "Nu";

   return 0;

}

Alte întrebări interesante