View Full Version : [C] Programma leggere da tastiera "N" numeri
Vincenzoflaminio
10-12-2009, 16:30
Salve dovrei scrivere un programma nel linguaggio C che legge "n" numeri da tastiera. Il programma deve essere scritto in modo da utilizzare un ARRAY.
Nella slide del mio prof. la Function è cosi realizzata :
void leggedatastiera(double v[], int n)
{
int i;
printf("\n inserire %d valori", n);
for (i=0;i<n;i++)
{
printf("\n inserire %d-mo elemento:", i);
scanf("%lf", &v[i]);
}
ora il compilatore di DEV C++ mi da degli errori quali quelli di inizializzare l'array double v[] e n ... effettivamente questa dovrebbe essere soltanto la porzione di codice che va poi CHIAMATA come tutte le function in modo da inserire questi valori dell'array e di "n"" . Ma non riesco a capire come fare qualcuno mi puo dare una mano??
Ciao,
non so se dipenda solo da questo ma probabilmente l'errore sta nello scanf("%lf",&v[i]) prova a togliera la lettera "f" in questo modo: scanf("%l",&v[i]) e vedi se si risolve. ^^
wingman87
10-12-2009, 19:01
Puoi incollare qui gli errori del compilatore?
Comunque credo che sia un errore di copiatura ma hai dimenticato di chiudere la funzione.
tieni te l'ho modificato con un main chiamante funziona perfettamente
#include <stdio.h>
void leggedatastiera(double v[], int n);
int main(){
double array[5];
leggedatastiera(array,5);
}
void leggedatastiera(double v[], int n)
{
int i;
printf("\n inserire %d valori", n);
for (i=0;i<n;i++)
{
printf("\n inserire %d-mo elemento:", i);
scanf("%lf", &v[i]);
}
}
CIAO!
Vincenzoflaminio
08-01-2010, 00:57
Grazie della risposta come è compilato da bobosg funziona ma nn riesco a capire dove sono gli errori copiando dalle slide del mio prof.
Propongo un altro esempio :
#include <stdio.h>
int somma_arrayI(int[], int n); */dichiarazione function
int main()
{
int a[]={2,15,1,2,22,0,4};
int somma;
somma=somma_arrayI(a,7);
printf ("somma degli elementi: %d ", somma);
system("PAUSE");
return 0; */ questo return 0 è per il main in DEV c++
}
int somma_arrayI(int a[]. int n ) */questa è la parte di codice della function
{
int s=0, i;
for (i=0;i<n;i++)
s=s+a[i];
return s; */ il return della function
}
ora dove sono gli errori
il compilatore ne segnala vari....
13 C:\Dev-Cpp\somma array I elementi.c syntax error before '.' token
C:\Dev-Cpp\somma array I elementi.c In function `somma_arrayI':
14 C:\Dev-Cpp\somma array I elementi.c number of arguments doesn't match prototype
3 C:\Dev-Cpp\somma array I elementi.c prototype declaration
16 C:\Dev-Cpp\somma array I elementi.c `n' undeclared (first use in this function)
e pensare ke nn ho fatto altro ke copiare qualcuno sarebbe capace di spiegarmi eventualmente dove sbaglio e perché?
wingman87
08-01-2010, 04:17
L'errore è uno solo ed è in questa riga:
int somma_arrayI(int a[]. int n ) */questa è la parte di codice della function
C'è un punto al posto della virgola. Comunque l'errore del compilatore dava una mano a capirlo dicendo
13 C:\Dev-Cpp\somma array I elementi.c syntax error before '.' token
Vincenzoflaminio
08-01-2010, 14:11
L'errore è uno solo ed è in questa riga:
int somma_arrayI(int a[]. int n ) */questa è la parte di codice della function
C'è un punto al posto della virgola. Comunque l'errore del compilatore dava una mano a capirlo dicendo
Grazie mille gentilissimo, sono alle prime armi... ora funziona!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.