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:
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);
}
}
A me interessa che venga ripetuta la scanf e quindi il controllo, ma devo aver sbagliato qualcosa.