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