Salve. Vi riporto qui sotto un pezzo di codice che permette di verficare se una parola è contenuta in un'altra.
Esempio:
parola1=importa
parola2=porta
Il programma in questo caso stampera un messaggio che conferma che seconda parola è contunuta della prima.
flag=1;
for(i=0; i <= strlen(str)-strlen(str2) && flag==1;i++){
flag=0;
for(j=0;j<strlen(str2) && flag==0;j++)
if(str[i+j]!=str2[j])
flag=1;
}
if (flag==1)
printf("the first string does not contain the second one");
else
printf("the first string contains the second one");
Come da titolo del topic io non riesco proprio a capire la logica che sta dietro questo codice. Premetto che la soluzione è corretta e funzionante, inoltre è gia da un pò di tempo che cerco di capirlo ma niente, ho cercato una mia soluzione personale, che mi è riuscita, ma è molto meno elegante rispetto questa, che in ottica esame presenterebbe sicuramente meglio. Quindi qualcuno potrebbe spiegarmi la logica che ci sta dietro ?
Saluti,
Francesco