Ciao, sto scrivendo questo programma in cui si chiede di inizializzare un vettore di char.
Durante il caricamento viene controllato se il carattere immesso è già presente nel vettore.
In caso positivo fa ripetere la digitazione.
Ecco una bozza di codice:
A me interessa che venga ripetuta la scanf e quindi il controllo, ma devo aver sbagliato qualcosa.codice:#include <stdio.h> #include <ctype.h> #define MAX_ELE 100 main() { int i,n; char v[MAX_ELE]; printf("\n// Il programma permette di caricare un vettore di caratteri\n// e se l'elemento digitato è gia presente nel vettore\n// verrà chiesto di digitarlo di nuovo.\n\n"); do { printf("numero di elementi(massimo 100): "); scanf("%d",&n); } while(n<1 || n>MAX_ELE); printf("\n"); fflush(stdin); printf("CARICAMENTO DEL VETTORE\n") for(i=0;i<n;i++) { do { int j; printf("inserisci un carattere stampabile: "); scanf("%c",&v[i]); while(getc(stdin)!= '\n'); for(j=0;j<i;j++) if (v[i] == v[j]) printf("l'elemento è già presente, inserire nuovamente un carattere stampabile: "); } while(isprint(v[i])==0); } }![]()

Rispondi quotando