Buonasera a tutti, questo è il mio primo post sul forum.
Sto riscontrando dei problemi con la programmazione di matrici, le sto facendo da qualche tempo a scuola ma quando le voglio riportare su computer non riesco mai a fare funzionare le cose.
Il problema è credo relativamente semplice: prese in input righe e colonne di due matrici (A e B) calcolare una matrice C somma, e una matrice D moltiplicazione.
Questo è il codice con cui ho problema nell'input delle matrici:
codice:
#include<iostream>
#include<math.h>
#include<string>
using namespace std;
int main(){
int i, j, ra, ca, rb, cb, k;
cout<<"Inserisci numero di righe e colonne della matrice A: ";
cin>>ra>>ca;
double a[ra-1][ca-1];
cout<<endl;
for(i=0; i<ra; i++){
cout<<"Riga "<<i+1<<": "<<endl;
for(j=0; j<ca; j++)
cout<<"Colonna "<<j+1<<": ";
cin>>a[i][j];
}
system("pause");
cout<<endl<<"Inserisci numero di righe e colonne della matrice B: ";
cin>>rb>>cb;
double b[rb-1][cb-1];
cout<<endl;
for(i=0; i<rb; i++){
cout<<"Riga "<<i+1<<": "<<endl;
for(j=0; j<cb; j++)
cout<<"Colonna "<<j+1<<": ";
cin>>b[i][j];
}
system("pause");
if((ca==cb)&&(ra==rb)){
double c[ra-1][ca-1];
cout<<"La matrice somma C è la seguente:";
for(i=0; i<ra; i++){
cout<<endl;
for(j=0; j<ca; j++){
c[i][j]=a[i][j]+b[i][j];
cout<<c[i][j]<<" ";
}
}
}
else{
cout<<"La matrice somma C non è calcolabile."<<endl;
}
system("pause");
if(ca==rb){
double d[ra-1][cb-1];
for(i=0; i<ra; i++){
for(j=0; j<cb; j++){
d[i][j]=0;
cout<<endl;
for(k=0; k<ca; k++){
d[i][j]=d[i][j]+a[i][k]*b[k][j];
cout<<d[i][j]<<" ";
}
}
}
}
else{
cout<<"La matrice D della moltiplicazione non è calcolabile."<<endl;
}
system("pause");
return(0);
}
Quando eseguo il programma mi scrive dopo avermi chiesto righe e colonne della matrice:
Riga 1:
Colonna 1: Colonna 2:
Come posso risolvere? qualcuno ha qualche idea/suggerimento?
Grazie in anticipo per le risposte.