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
codice:
#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;
}