Ciao,
ho sistemato il codice modificando l'implementazione della funzione come mi ha suggerito @ZioLuffio
codice:
#include<stdio.h>
int numin(int[], int);
int main()
{
int num[1000], i=0, op=0;
printf("Inserisci una sequenza di numeri interi positivi\n");
printf("Per terminare inserisci un numero maggiore di 9\n");
do
{
printf("\nInserisci il %d%c numero:", i+1, 167);
scanf("%d", &num[i]);
while(num[i]<0)
{
printf("Il numero inserito '%d' non e' corretto perche' e' minore di zero\n", num[i]);
printf("Inserisci nuovamente il %d%c numero", i+1, 167);
scanf("%d", &num[i]);
}
}
while(num[i++]<=9);
printf("Il risultato e\':%d\n", numin(num,i));
system("pause");
return 0;
}
//Implementazione della funzione che restituisce il numero intero ottenuto affiancando le cifre
int numin(int n[], int tot)
{
int somma=0, i;
for(i=0; i<tot; i++)
{
somma *= 10;
somma += n[i];
}
return somma;
}
Nel main dopo aver inserito il 5° valore (che è maggiore di 10) incrementi lo stesso i anche se non dovresti, quindi se hai 4 valore conteggi per 5.
Quindi come dovrei modificare l'implementazione al fine di renderla giusta?
Ciao e grazie