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; }

Rispondi quotando