ciao a tutti!
sto tornando dopo un po' di tempo che l'avevo lasciato da parte, a ristudiare il c.
stavo facendo dei vecchi esercizi e tra questi ne ho uno che mi sta dando qualche problema.
potreste darmi un paio di dritte?
qui il testo dell'esericizio:
Scrivere un programma che acquisite due stringhe di dimensione di al più 30 caratteri verifica se la seconda è esattamente contenuta nella prima: in caso positivo visualizza 1 altrimenti 0. Esempi: “marconiere” “arco” → 1 “ricostruzione” “casa” → 0 “distrazione” “oneroso” → 0
ecco qua il codice:
codice:
#include <stdio.h>
#include <string.h>
const int N=31;
int main(int argc, char *argv[]){
int i, j, flag;
char stringa1[N], stringa2[N];
printf("inserisci due stringhe\n");
scanf("%s", stringa1);
scanf("%s", stringa2);
flag=1;
for(i=0;stringa1[i]!='\0';i++)
for(j=0;stringa2[j]!='\0';j++){
if(flag==1 && stringa1[i]==stringa2[j])
flag=1;
else{
flag=0;
i++;
}
}
if(flag)
printf("1\n");
else
printf("0\n");
return 0;
}
il problema è che sembra funzionare un po' quando vuole lui, ho provato a riscrivere il codice un po' di volte ma la salsa è sempre la stessa
manina?