Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    3

    problema errori...

    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;
    }
    }

  2. #2
    Di sicuro hai dimenticato molti ; e qualche parentesi graffa, inoltre dovresti togliere il .h da iostream.h.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    3
    #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;
    }
    }




    l ho riaggiustao un pò..ma non capisco dove devo ankora "aggiustare" per farlo senza errori...mi potresti aiutare?

  4. #4
    l ho riaggiustao un pò..ma non capisco dove devo ankora "aggiustare" per farlo senza errori...mi potresti aiutare?
    Perché non ti fai aiutare prima dagli errori generati in fase di compilazione?

    test.cpp(34) : error C2065: 'i': identificatore non dichiarato
    test.cpp(34) : error C2065: 'j': identificatore non dichiarato
    test.cpp(36) : error C2065: 'i': identificatore non dichiarato
    test.cpp(36) : error C2065: 'j': identificatore non dichiarato
    test.cpp(36) : error C2065: 'i': identificatore non dichiarato
    test.cpp(36) : error C2065: 'j': identificatore non dichiarato
    test.cpp(36) : error C2065: 'i': identificatore non dichiarato
    test.cpp(36) : error C2065: 'j': identificatore non dichiarato
    test.cpp(42) : error C2181: else non valido senza if corrispondente
    test.cpp(70) : error C2143: errore di sintassi: ',' mancante prima di '<'
    test.cpp(70) : error C2086: 'int i': ridefinizione
    test.cpp(70): vedere la dichiarazione di 'i'
    test.cpp(71) : error C2143: errore di sintassi: ';' mancante prima di '{'
    test.cpp(72) : error C2143: errore di sintassi: ',' mancante prima di '<'
    test.cpp(72) : error C2086: 'int j': ridefinizione
    test.cpp(72): vedere la dichiarazione di 'j'
    test.cpp(73) : error C2143: errore di sintassi: ';' mancante prima di '{'
    test.cpp(77) : fatal error C1075: fine file raggiunta prima che fosse trovata la
    corrispondenza per l'elemento parentesi graffa '{' di sinistra in 'test.cpp(69)
    '
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Re: problema errori...

    Originariamente inviato da lewis88
    Secondo voi dove sbaglio?è fatto bene?
    Sbagli a non leggere il regolamento.
    Sbagli a non indicare il linguaggio nel titolo.
    Sbagli a non indicare un titolo decente (dove per decente si intende un titolo che riassuma la discussione)
    Sbagli a non postare il codice all'interno degli appositi TAG...

    Insomma... oltre agli errori di programmazione, ce ne sono altri da tenere in considerazione...


    Correggo il titolo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    3
    i'm sorry...kmq grazie della correzione in titolo

  7. #7
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    è fondamentale quando si programma in qualsiasi linguaggio imarare a leggere gli errori prima di disperarsi..

    altrimenti non si fa nessun passo avanti..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.