PDA

Visualizza la versione completa : [c++] prodotto tra due array aiuto


centu
22-05-2017, 14:24
Salve a tutti.
Sono alle prime armi con la programmazione in c++ e sto avendo problemi con un programma che chiede di visualizzare il prodotto di due array.
Il compilatore non mi da nessun tipo di errore perņ la funzione che dovrebbe moltiplicare non fa quanto chiesto,il programma si ferma alla visualizzazione dei due array. allego il codice e vi ringrazio in anticipo per la pazienza:)



#include <iostream>#include <stdlib.h>
#include <math.h>


using namespace std;


const int n=5;
const int m=5;
int A[n];
int B[m];
int caricaVett(int v[],int v2[]);
int visualizzaVett(int v[],int v2[]);
int prodottoscalare(int v[],int v2[],int sum);


int main ()
{
int prod=0;
int i,j;
caricaVett( &A[i], &B[j]);
visualizzaVett( &A[i], &B[j]);
prodottoscalare(&A[i],&B[j],prod);
cout<<prod;
return prod;
system ("pause");
}


int caricaVett(int v[],int v2[]){
int i;
for (i=0; i<n; i++){
cout<<"inserire il "<<i+1<<" valore dell'array "<<endl;
cin>>v[i];
cout<<"inserie il "<<i+1<<" valore dell'array"<<endl;
cin>>v2[i];
}
return 0;
}


int visualizzaVett(int v[],int v2[]){
int i,j;
for(i=0; i<n; i++){
cout<<v[i]<<endl;
}
for (j=0; j<m; j++){
cout<<v2[j]<<endl;
}
cout<<" }";
return 0;
}


int prodottoscalare(int v[],int v2[],int sum){
int i=0;
sum=0;
for (i=0; i<n; i++){
sum+=v[i]*v2[i];
}
return sum;
}

Eduadie
22-05-2017, 14:31
La tua function prodottoscalare() calcolala sum e te lo ritorna ma quando tu lo richiami nel main non lo memorizzi in nessuna variabile.
La variabile int sum non ti serve nella dichiarazione e nel main devi cambiare la chiamata:

prod = prodottoscalare(....);

Loading