Nel tuo codice, così come l'hai postato, modifica il ciclo così:
Però in questo modo si ferma alla prima occorrenza del carattere c in array1. Se vuoi che le trovi tutte fai prima a modificare in questo modo:codice:trovato=0; for (i=0;(i<52)&&!trovato;i++) { if (c == array1[i]) { trovato=1; i--; } }
codice:while (!feof(file_chiaro)) { fscanf(file_chiaro,"%c",&c); //leggo un carattere trovato=0; //a priori penso di non trovarlo for (i=0;(i<52);i++) //scorro tutto il vettore { if (c == array1[i]) //se lo trovo { trovato=1; //mi segno di averlo trovato almeno una volta printf("%c",array2[i]); //e stampo l'equivalente di array2 } } if (!trovato) //dopo aver controllato tutto array1,se non ho mai trovato c printf("%c",c); }![]()
PS corso universitario di C base eh?? Anche a me vietavano i break se non negli switch...![]()

Rispondi quotando