Informatică, întrebare adresată de rucarr, 9 ani în urmă

Salut! Am o problema, nu imi amintesc exact enuntul dar pot da un exemplu. Se da un sir de caractere de genul "aabcaabcaabcaabc" și se va afisa "aabc" adica cel mai mic subsir care se repetă ca să zic așa,mă puteți ajuta cu o idee?

Răspunsuri la întrebare

Răspuns de S0unds
0
#include <iostream>
#include <string.h>
using namespace std;

int main()
{
char x[100],aux[100];
char *p;
int n,k=0;
cin>>x;
n=strlen(x);
for(int i=0;i<n;i++)
for(int j=i;j<n;j++)
if(x[i]==x[j])
{
aux[k]=x[i];
k++;
}
else
{
if(k<2)
{
strcpy(aux,"");
k=0;
}
if(k>=2)
{
p=strstr(x+i,aux);
if(p!=NULL)
{
cout<<aux;i=n;break;
}
cout<<endl;
k=0;
strcpy(aux,"");
}

}

}

rucarr: Îmi returnează 0, orice as da de la tastatura
S0unds: sincer nici eu nu prea stiu cum se face, e ambigua problema
S0unds: ca poti avea: erergh si iti va afisa re in loc de er
S0unds: si faze de genu
rucarr: E urâțică, eu m-am gândit la ceva cu numarul de caractere si cu divizorii acestuia sa îl impart de mai multe ori, cuvântul, dar m-am blocat
rucarr: Mersi, oricum
S0unds: npc
Alte întrebări interesante