22/10/14 15:59
Arat
Ciao a tutti, mi trovo davanti a questo problema che in teoria è abbastanza banale, ma in pratica sto avendo non poche difficoltà a realizzarlo. In pratica ho un array di 10 elementi e devo chiedere all'utente di riempirlo. Inoltre, se un elemento è già presente devo stampare un errore e chiederlo nuovamente effettuando sempre il controllo.
Per esempio quello che avevo realizzato è il seguente codice:
Il programma giustamente richiede il valore se è già presente, ma se una volta che me lo richiedo reinserisco lo stesso valore, me lo passa senza problemi.
Esempio:
Inserisci elemento: 2 OK
Inserisci elemento: 2 MI STAMPA ERRORE
Errore, inserisci nuovamente il valore: 2 MI DOVREBBE STAMPARE ERRORE MA MI ACCETTA IL DUE.
Come posso risolvere?
Grazie mille
Per esempio quello che avevo realizzato è il seguente codice:
#include <stdio.h> int main() { int vet[10] = {0}, i, j, ele, conta; printf("Elementi da utilizzare: "); scanf("%d", &ele); for (i=0; i < ele; i++) { printf("Inserisci elemento: "); scanf("%d", &vet[i]); conta = 0; for (j=0; j < ele; j++) if (vet[j] == vet[i]) { conta++; } if (conta > 1) { printf("Errore, inserisci nuovamente il valore: "); scanf("%d", &vet[i]); j = 0; } } return 0; }
Il programma giustamente richiede il valore se è già presente, ma se una volta che me lo richiedo reinserisco lo stesso valore, me lo passa senza problemi.
Esempio:
Inserisci elemento: 2 OK
Inserisci elemento: 2 MI STAMPA ERRORE
Errore, inserisci nuovamente il valore: 2 MI DOVREBBE STAMPARE ERRORE MA MI ACCETTA IL DUE.
Come posso risolvere?
Grazie mille
Ultima modifica effettuata da Arat 22/10/14 16:00
aaa