Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
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:
Codice sorgente - presumibilmente C++
#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;
}
}
return0;
}
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 il 22/10/2014 alle 18:00
Grazie mille, così funziona. L'unica cosa è che bisogna cambiare conta > 0 a conta > 1 in quanto almeno una volta ci sarà una corrispondenza con se stesso.