Grazie Andrea.
Io ho provato a fare il programma anche senza funzioni di libreria
in questo modo:
codice:
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{ char s[100],t[100];
int i,j,cont,again,pos,POS[100];
gets (s);
fflush(stdin);
gets (t);
i=0; j=0; cont=0;
while ((s[i]!='\0')&& (t[j]!='\0'))
{
if(s[i]==t[j])
{ again=again+1;
do{
i++;
j++;
}while ((s[i]!='\0')&&(t[j]!='\0') && (s[i]==t[j]));
if (s[i]=='\0')
{cont=cont+1;
i=0;
POS[cont]=j-1;
}
else
{j=again;
i=0;
}
}
else {
j++;
}
}
cout <<"Numero di volte contenuta " <<cont <<endl;
cout <<"Ecco le posizioni" <<endl;
for (i=0;i<=cont;i++)
{ cout<<POS[i];
}
system("PAUSE");
return 0;
}
Che te ne pare?
Ma se ad esempio gli do la stringa s Ciao e la stringa t CCiao
mi dice che è contenuta zero volte.
p.s. gets fa parte del c o del c++?