Ho dubbi su questo esercizio. cosa sbaglio??
Ho una frase iniziale(memorizzata in un array di char magari..ad esempio "importante ridurre il debito") e una lista di parole(es: "dame, rudi, tinte, birre, il)
Voglio cancellare le lettere di ogni parola all'interno della frase. ad esempio con la prima parola "dame" la frase diventerà: "iportnt riurre il debito". farò cosi per ogni parola. Quando tutte le parole sono state considerate, la frase iniziale risulterà modificata cosi: "po r to"
il mio codice:
codice:#include <iostream> using namespace std; void cancella(char frase[], char parole[], char nuovafrase[]); char scomponi(char *parole); int main(){ char frase[1000]; char parole[50], nuovafrase[1000]; cout<<"inserisci la frase iniziale"<<endl; cin.getline(frase,1000); cancella(frase, parole, nuovafrase); cout<<nuovafrase; return 0; } void cancella(char frase[], char parole[], char nuovafrase[]){ int x=0; scomponi(parole); for(int k=0; k<strlen(parole); k++){ for(int i=0; i<strlen(frase); i++){ if(frase[i]!= parole[k]) nuovafrase[x++]=frase[i]; } } char scomponi(char *parole){ char *s=strtok(parole, ','); while(s!= NULL){ p=strtok(NULL, ','); } return s; }

Rispondi quotando