Ciao, secondo me dovresti tener traccia dei caratteri che stampi, per poi di conseguenza decidere se stamparli o meno.
Potresti usare un array per memorizzare lo stato "stampato-non stampato" dei vari caratteri.
Qualcosa del genere:
codice:/*Array contenente lo stato l'array è composto da 127 elementi ognuno corrispondente al codice ascii "ristretto". Per accedere a un elemento dell'array, useremo il valore ascii del carattere. Esempio stampato['A'] equivale a stampato[65]*/ char stampato[127]={0}; //Usiamo il tipo char al posto di int, per risparmiare memoria void stampa(char*word,int n, int stampato[]){ int i=0; for( i=0;i<n;i++){ if(stampato[word[i]]==0){ printf("\nParola [%d]: %c",i+1,word[i]); stampato[word[i]]=1; } } }

Rispondi quotando