Salve, approfitto della vostra disponibilità per porvi un problema che ho trovato in un programma. Il programma in questione mi chiede di:
-Utilizzare un vettore unidimensionale per leggere 20 numeri che devono essere compresi tra 10 e 100, estremi inclusi.
-Ogni volta che leggo un numero deve essere visualizzato solo se non è un duplicato di uno già letto.
Ecco, sulla prima parte non ho problemi, o almeno ai fini del risultato non ne ho seppur penso che il procedimento sia un po' troppo contorto.
#include <stdio.h>
#include <stdlib.h>
#define SIZE 20
main()
{
int v[SIZE], i, x;
printf("Digita venti valori compresi tra 10 e 100: ");
printf("\n");
for (i=0; i<=SIZE-1; i++) {
printf("\nNumero%d ", i+1);
scanf("%d", &x);
if(x>=10 && x<=100)
v[i]=x;
else
printf("Numero non valido", i--);
}
Avevo pensato ad una cosa del genere, anche se non so, c'è qualche altro modo un po' più 'raffinato'? Come potrei renderlo migliore? ...sulla seconda parte invece ho provato con alcuni tentativi ma non sono giunto ad una soluzione. Sono un po' alle prime armi, più che altro a livello 'pratico'. Grazie in anticipo.