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:Quando eseguo il programma mi scrive dopo avermi chiesto righe e colonne della matrice: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); }
Riga 1:
Colonna 1: Colonna 2:
Come posso risolvere? qualcuno ha qualche idea/suggerimento?
Grazie in anticipo per le risposte.

Rispondi quotando