PDA

Visualizza la versione completa : [C] riempimento array di double


johnnyBeat
10-02-2013, 15:31
Salve, ho provato a svolgere questo codice con array di tipo int, ed funzionante. Gli array di tipo double non riescono a riconoscere i numeri immessi in input; evidentemente sto facendo un errore madornale, ma non comprendo quale. Vi ringrazio anticipatamente per l'aiuto


#include <stdio.h>
double prodotto(double a[], double b[], int n);
main(){
const int N=3;
double a[N],b[N];
int i;
printf("inserire elementi primo vettore\n");
for(i=0; i<N; i++){
scanf("%g",&a[i]);
}
printf("inserire elementi secondo vettore\n");
for(i=0; i<N; i++){
scanf("%g",&b[i]);
}
/*stampo a video primo vettore*/
for(i=0; i<N; i++){
printf("%f ",a[i]);
}
/*stampo a video secondo vettore*/
for(i=0; i<N; i++){
printf("%f ",b[i]);
}
printf("prodotto elementi: %.2f\n", prodotto(a,b,N));
system("PAUSE"); }
double prodotto(double a[], double b[], int n){
int i;
float p=0;
for (i=0; i<n; i++){
p+=(a[i]*b[i]);
}
return p;
}

oregon
10-02-2013, 15:51
La scanf non con l'opzione %g ma con %lf

E poi deve essere

double p=0;

johnnyBeat
10-02-2013, 15:55
grazie, gentilissimo :)

Loading