Ho svolto questo esercizio...mi compila ma mi da un errore "il programma ha smesso di funzionare ecc..." in fase di esecuzione! Cosa non va??
La tua amica Renata Limbranata è nei guai. Si è sposata solo pochi giorni fa eppure il suo matrimonio sembra già andare a rotoli. Suo marito passa la maggior parte del giorno al computer a scrivere mail di lavoro (dice lui!), ma lei è molto sospettosa, non riesce a credere che si sia portato il lavoro anche in viaggio di nozze… E così ha deciso! Approfittando delle assenze del marito ti ha inoltrato tutte le sue mail (circa un centinaio), pregandoti di leggerle e farle sapere se, come sospetta lei, il marito ha un’amante. Tu però, che conosci Renata e che sai quanto possa essere paranoica a volte, decidi di non sprecare belle giornate a leggere mail con molta probabilità noiose e di affidarti alle tue abilità informatiche per risparmiare tempo. A tale scopo, si scriva in C++ un programma completo opportunamente modularizzato in funzioni che, dato in input l’elenco delle mail di Renata (che per semplicità si può implementare come array di stringhe) conti quante sono le mail in cui è contenuta almeno una tra le seguenti parole: amore, tesoro, cucciolotto, trottolino.
MIA SOLUZIONE:
codice:
#include <iostream>
using namespace std;
int confronta(char *email[], char *parole[]);
int main(){
int numero_email=0;
char *email[10]={"Ciao amore come va","senti tesoro", "sei un cretino" };
char *parole[10]={"amore","tesoro","cucciolotto", "trottolino"};
numero_email=confronta(email,parole);
cout<<"Il numero delle email sospette è:"<<numero_email<<endl;
system("pause");
return 0;
}
int confronta(char *email[], char *parole[]){
int conta=0;
for(int i=0; email[i]; i++){
for(int j=0; parole[i]; j++){
if(email[i] == parole[j])
conta++;
}
}
return conta;
}