|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2006
Messaggi: 8
|
[Dev C++] errori da risolvere...
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> #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; } } HELP ME |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2794
|
Per favore, metti il codice tra i tag CODE altrimenti è davvero faticoso da leggere.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Alura, prima hanno chiuso il topic proprio mentre rispondevo...
Il procedimento è corretto, ma oltre ai piccoli errori di distrazione come i ; ci sono due errori più gravi: hai sbagliato la signature della funzione LeggiMatrice sia nella dichiarazione che nell'implementazione (devi passare entrambi i riempimenti di riga e colonna per riferimento), e la funzione ScriviMatrice non fa niente così com'è scritta (stampa solo righe vuote). Inoltre, ricordati che righe in inglese si scrive rows, non rasw
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
|
Quote:
oltre a quello che ho detto sopra devi mettere ; al posto di , c'è un'altro errore ma ho perso l'indentazione quindi non sono riuscito a trovarlo
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:27.




















