AIUTO SVOLGIMENTO PROGRAMMA C++

di il
2 risposte

AIUTO SVOLGIMENTO PROGRAMMA C++

Salve a tutti..
sono nuovo nel forum....
poichè sono alle prime armi... volevo chiedere a qualcuno di buona volontà la risoluzione di quest'esercizio in c++...

Progettare e scrivere un programma che individui in una matrice di reali la riga, la somma dei cui elementi risulta massima. Il programma dovrà avere la seguente struttura:
-Un programma principale che acquisisca da tastiera le dimensioni della matrice, attivi la procedura di lettura degli elementi della matrice, attivi la funzione che individua l'indice della riga di somme max e lo stampi a video.
-Una procedura leggi_mat che legga da tastiera gli elementi della matrice il cui numero di righe e il numero di colonne effettive venga passato come parametro di ingresso.
-Una funzione rigamax con:
-Parametro di ingresso: la matrice e le sue dimensione effettive.
-Parametro di uscita: l'indice della riga max (attraverso il nome della funzione).

2 Risposte

  • Re: AIUTO SVOLGIMENTO PROGRAMMA C++

    Ciao prova questo codice:

    matrice.h:

    #ifndef MATRICE
    #define MATRICE


    class Matrice
    {
    public:
    Matrice();
    ~Matrice();
    void leggi_mat(int colonna,int riga, long** matrice);
    int rigamax(long **mat,int colonna,int riga);
    void Matrice::stampa(long** mat,int colonne, int righe);
    };
    #endif


    matrice.cpp
    #include <iostream>
    #include "matrice.h"

    using namespace std;

    Matrice::Matrice()
    {

    }

    Matrice::~Matrice()
    {

    }

    void Matrice::leggi_mat(int colonna,int riga, long** matrice)
    {
    // long matrice[riga][colonna], *p;

    for(int i=0;i<riga;i++)
    {
    for(int c=0, a;c<colonna;c++)
    {
    cout << "Inserisci l'elemento riga " << i+1 << " e colonna " << c+1 << ": " ;
    cin >> a;
    matrice[c]=a;
    }
    }


    }

    int Matrice::rigamax(long **mat,int colonna,int riga)
    {
    long sm=0, rg=0, somma=0;
    int i;

    for(i=0;i<riga;i++)
    {
    somma=0;
    for(int c=0, ;c<colonna;c++)
    somma+=mat[c];
    if(somma>sm)
    {
    sm = somma;
    rg = i;
    }
    }

    return rg+1;
    }

    void Matrice::stampa(long** mat,int colonne, int righe)
    {
    cout << "Matrice:" << endl;

    for (int i=0;i< righe;i++)
    {

    for(int c=0;c<colonne;c++)
    cout << mat[c] << " ";
    cout << endl;
    }


    }


    main.cpp
    #include <cstdlib>
    #include <iostream>
    #include "matrice.h"

    #define MAXLINES 10

    using namespace std;

    int main(int argc, char *argv[])
    {
    Matrice mat;
    int colonne=0, righe=0, maxriga;
    long** matx;

    while (colonne<=0 && righe <=0)
    {
    cout << "Inserisci il numero delle colonne: " ;
    cin >> colonne;
    cout << "Inserisci il numero delle righe: " ;
    cin >> righe;
    }

    matx = new long*[righe];

    for(int i=0;i<righe;i++)
    matx = new long[colonne];

    mat.leggi_mat(colonne,righe,matx);
    mat.stampa(matx,colonne,righe);
    maxriga = mat.rigamax(matx,colonne,righe);

    cout << maxriga << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
    }


    dovrebbe andare, ho inserito anche una funzione stampa che visualizza la matrice.
  • Re: AIUTO SVOLGIMENTO PROGRAMMA C++

    Ok.. adesso lo provo..
    ti ringrazio infinitamente...
Devi accedere o registrarti per scrivere nel forum
2 risposte