#include #include #include const int LStr=41; int COINCIDENZE(char A1[], char A2[], int d1, int d2) {int c=0; //numero di coincidenze; int min; //dimensione minima tra d1 e d2 if (d1 < d2) min=d1; else min=d2; for(int i=0; i < min; i++) if (A1[i]==A2[i]) c++; return c; } int main() {char F[81]; //stringa per il nome del file cout << "Dare il nome del file da leggere (max 80 caratteri): "; cin.getline(F,LStr); ifstream fin(F); if (!fin) {cout << "Errore: file non esistente"; return 0;} char P[LStr]; //stringa per la parola da ricercare char Q[LStr]; //stringa per parole lette dal file int C; //numero di coincidenze tra P e la parola corrente sul file int maxC=0; //numero max di coincidenze char maxQ[LStr]; //stringa per la parola con il maggior numero di coincidenze cout << "Dare una parola da cercare nel file (max 40 caratteri): " ; cin.getline(P,LStr); while (fin >> Q) {C=COINCIDENZE(P,Q,strlen(P),strlen(Q)); if (C > maxC) {maxC=C; strcpy(maxQ,Q);} } if (maxC==0) cout << "Nessuna parola coincidente con " << P << " nel file " << F << endl; else {cout << "La parola con il maggior numero di coincidenze con " << P << " e' " << maxQ << endl; cout << "Il numero delle coincidenze e' " << maxC; } return 0; }