|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2006
Messaggi: 8
|
problema c++
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)); //Acquisizione 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; } } Ultima modifica di lewis88 : 20-05-2008 alle 21:02. |
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Non ti si riesce proprio a seguire... riposta col tag CODE per mantenere l'indentazione
Poi ci diamo un occhiata insieme con piacere Edit: me lo sto guardando... è pieno zeppo di errori del tipo "unt" invece di int, ; mancati a fine riga, return0 scritto senza spazio... correggi prima questi errori di distrazione e dopo se c'è ancora qualcosa che non va discutiamo dei problemi del procedimento
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg Ultima modifica di Albi89 : 20-05-2008 alle 20:55. |
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Jun 2006
Messaggi: 8
|
corretti i grossolani "orrori ortografici"... ma riguardo il procedimento come va?
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:09.

















