#include <stdio.h> #include <string.h> void cerca(char *str, char *parola, int *inizio,int *fine); void min2mais(char *str,int inizio, int fine); int main() { char *parole[4]={ "acqua", "pane", "alba","ascia"}; int conteggio[4]; int start,end; FILE * fd; char s[1000]; for (int i=0;i<4;i++) conteggio[i]=0; fd =fopen("input.txt","r"); int n; do{ fgets(s,1000,fd); for (int i=0;i<4;i++) { cerca(s,parole[i],&start,&end); if(start>=0) { conteggio[i]++; min2mais(s,start,end); } } printf("%s\n",s); }while(!feof(fd)); fclose(fd); for (int i=0;i<4;i++) printf("%d ",conteggio[i]); } void cerca(char *s, char *parola, int *inizio,int *fine){ int i=0; int trovata=0; *inizio=-1; while(s[i]!='\0'&&!trovata) { if(((i==0)&&(s[i]!=' '))||((s[i]==' ')&&(s[i+1]!=' '))) { int j=0; int temp; if(i==0) temp=0; else temp=1; while(j<strlen(parola)&&s[i+temp+j]==parola[j]) j++; //printf("%s %s %d %d %d\n",s,parola,i,j,temp); if(j==strlen(parola)) { trovata=1; *inizio=i+temp; *fine=i+temp+j; } } i++; } } void min2mais(char *s,int inizio, int fine) { printf("%s\n",s); printf("%d %d\n",inizio,fine); for(int i=inizio;i<fine;i++) if(s[i]>='a' && s[i]<='z') s[i]=s[i]-'a'+'A'; }