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;
}