• T4CH
  • NEWS
  • VIDEO
Forum > Software

problema c++

Discussione inserita in 'Software' da lewis88, 20 Maggio 2008.

  1. lewis88 techNewbie

    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>

    #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[j]=0;

    for (int k=0; k<nRaw2; k++) {

    m3 [j]= m3[j]+ m1[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[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;

    }

    }
    lewis88, 20 Maggio 2008
    #1
Password dimenticata?
SU TERMINI DI SERVIZIO CONTATTACI