|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2006
Messaggi: 96
|
[C] Programma leggere da tastiera "N" numeri
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?? |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Apr 2007
Messaggi: 135
|
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. ^^ Ultima modifica di Savius : 11-12-2009 alle 10:35. Motivo: Mi sa che devo rivedere le "basi" del linguaggio C! XD |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2773
|
Puoi incollare qui gli errori del compilatore?
Comunque credo che sia un errore di copiatura ma hai dimenticato di chiudere la funzione. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 551
|
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!
__________________
Se non hai ancora deciso per il tuo futuro Don'T panic!!! segui le tue passioni, ti porteranno lontano. |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Jul 2006
Messaggi: 96
|
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é? |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2773
|
L'errore è uno solo ed è in questa riga:
Codice:
int somma_arrayI(int a[]. int n ) */questa è la parte di codice della function Quote:
|
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jul 2006
Messaggi: 96
|
Grazie mille gentilissimo, sono alle prime armi... ora funziona!
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:28.