salve raga...dovrei consegnare tra max 1 settimana un programma con c++ per l esame...però non capisco perchè mi fà un sacco di errori...l intestazione è
"Siano dati in ingresso i riempimenti di riga e colonna di 2 matrici di elementi float A e B. Si elabori un algoritmo e si progetti un programma ke ritorna a una terza matrice C data dal prodotto delle matrici A e B.Si stampino le matrici A,B e C. "
Secondo voi dove sbaglio?è fatto bene?
#include <iostream.h>
#include <stdlib.h>
using namespace std;
const int nMaxCol=30;
const int nMaxRaw=30;
typedef float TElemento;
typedef TElemento TMatrice [nMaxRaw][nMaxCol]
void LeggiMatrice(TMatrice m , const int nMaxCol, const int nMaxRaw, int nCol, int& nRaw);
void ScriviMatrice(const TMatrice m, const int nRaw, const int nCol);
int main ()
{
TMatrice m1;
int nCol1;
int nRaw1;
TMatrice m2;
int nCol2;
int nRaw2;
cout<<"Matrice 1:\n";
LeggiMatrice(m1, nMaxCol, nMaxRaw, nCol1, nRaw1);
cout<<"Matrice 2:\n";
LeggiMatrice(m2, nMaxCol, nMaxRaw, nCol2, nRaw2);
if(nCol1=nRaw2)
{
int nRaw3=nRaw1;
int nCol3=nCol2;
TMatrice m3;
//Allocazione di una nuova matrice
for (int i=0; i<nRaw3; i++)
for (int j=0; j<nCol3; j++)
{
m3[i][j]=0;
for (int k=0; k<nRaw2; k++) {
m3 [i][j]= m3[i][j]+ m1[i][k]* m2[k][j];
}
}
cout<<"La matrice prodotto e':\n";
ScriviMatrice (m3, nRaw3 ,nCol3);
}
else cout<<"Errore numero colonne Matrice1 diverso da numero righe Matrice2:\n";
system("PAUSE");
return 0;
}
void LeggiMatrice (TMatrice m, const int nMaxCol, const int nMaxRaw, int& nCol, int nRaw)
{
//Acquisizione numero righe
do {
cout<<"Inserisci no.righe (max"<<nMaxRaw<<"):";
cin >> nRaw
}
while ((nRaw<0)||(nRaw>nMaxRaw));
//Acqiosizione numero colonne
do{
cout<<"Inserisci no.colonne (max"<<nMaxCol<<"):";
cin>>nCol;
}
while ((nCol<0)||(nCol>nMaxCol));
//Acquisizione degli elementi
for(int i=0; i<nRaw; i++)
for (int j=0; j<nCol; j++)
{
cout<<"Inserisci elemento m["<<i<<"," <<j<<"]:";
cin>>m[i][j];
}
}
void ScriviMatrice (const TMatrice m, const int nRaw, const int nCol)
{
for (int i=0, i<nRaw; i++)
{
for (int j=0, j<nCol; j++)
{
cout<<endl;
}
}

Rispondi quotando