Ciao,
devo fare un programma che dato un array di interi, contententi in ogni elemento una cifra, restituisca il numero intero ottenuto affiancando le cifre (es: 4 3 8 1 => 4381).
Io ho scritto questo codice
Il problema è che il numero generato ha giuste solo alcune cifre mentre le altre sono sbagliate (es: 1,2,3,4,10[usato per terminare] => 123500)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, j=1, k=tot; while(k!=0) { j=j*10; k--; } for(i=0; i<tot; i++) { somma=somma+(n[i]*j); j=j/10; } return somma; }
Ciao e grazie

Rispondi quotando
