Traccia:
-Prodotto tra una matrice per un vettore colonna e successivamente calcolare l'elemento di valore massimo.
Io ho scritto questo codice qui, che funziona in tutto, tranne, ovviamente,che nella parte cruciale , ovvero nel prodotto.Qualunque siano i numeri che io vado ad inserire come elementi della matrice il risultato è sempre fisso.
N.B=La parte del massimo non l'ho ancora scritta poichè non mi "funziona" il prodotto.
//Prodotto matrice per vettore colonna e max
#include<iostream>
using namespace std;
int m[10][10], v[10];
void acquisiscim(int m[10][10],int righe,int colonne);
void acquisisciv(int v[10],int dimensione);
void prodotto(int m[10][10],int v[10],int righe,int vettore,int colonna);
void stampa(int m[10][10],int righe,int colonne);
int main(){
int m[10][10],R,C,N,i,j;
int v[10];
cout<<"Inserire il numero di righe della matrice"<<endl;
cin>> R;
cout<<"Inserire il numero di colonne della matrice"<<endl;
cin>> C;
acquisiscim(m,R,C);
cout<<"Inserire la dimensione del vettore :"<<endl;
cin>> N;
acquisisciv(v,N);
if(N!=C)
cout<<"Prodotto non disponibile, colonna matrice non coincidente con riga vettore."<<endl;
else{
prodotto(m,v,R,N,C);
stampa(m,R,1);}
system("PAUSE");
return 0;
}
void acquisiscim(int m[10][10],int righe , int colonne){
int i,j;
for(i=0;i<righe;i++){
for(j=0;j<colonne;j++)
{
cout<<"A[ "<<i+1<< ","<<j+1<<" ]= ";cin>>m[i][j];
}
}
}
void acquisisciv(int v[10],int dimensione){
int i;
for(i=0;i<dimensione;i++){
cout<<"v[ "<<i+1<<" ] ";cin>>v[i];
}
}
void prodotto(int m[10][10],int v[10],int righe,int vettore,int colonna){
int i,j,k;
for(i=0;i<righe;i++)
for(j=0;j<vettore;j++){
v[i,j]=0;
for(k=0;k<colonna;k++)
v[i,j]=v[i,j]+m[i][j]*v[j];
}
}
void stampa(int m[10][10],int righe,int colonne){
int i,j;
for(i=0;i<righe;i++)
for(j=0;j<colonne;j++){
cout<<" P[ "<< i+1 <<", "<<j+1<<" ]= "<< m[i][j]<<endl;
}
}