Pagina 1 di 1

[C++] Matrice indice riga somma massima

Inviato: mercoledì 27 maggio 2015, 19:29
da vfabrisv94
Salve a tutti, dovrei creare un programma in cui devo calcolare l'indice riga di somma massima in una matrice. Sapete dirmi come posso calcolarla ?

Re: c++ matrice indice riga somma massima

Inviato: mercoledì 27 maggio 2015, 21:53
da minomic
Ciao,

puoi affrontare il problema come segue:
- scrivi una funzione che riceve in ingresso una riga di una matrice (o anche la matrice e l'indice di una riga) e restituisce la somma dei suoi elementi
- scorri la matrice e per ogni riga calcoli la somma sfruttando la funzione di prima
- trovi la somma massima con il classico algoritmo: all'inizio imposti il massimo al valore della prima somma, poi aggiorni se trovi un valore maggiore

Facci sapere se hai altri dubbi.

Re: [C++] Matrice indice riga somma massima

Inviato: giovedì 28 maggio 2015, 13:05
da vfabrisv94
Grazie della risposta.

Io ho fatto in questo modo :

Codice: Seleziona tutto

for(int r=0; r<righe; r++)
{
    somma=0;
    for(int c=0; c<colonne; c++)
    {
        somma+=matrix[r][c];
        if(r==0)
        {
           riga_max=somma;
           ind_max=0;
        }
          else
        {
          if(somma>riga_max)
        {
            riga_max=somma;
            ind_max=r;
        }
        }
    }
}

Secondo voi ho fatto bene ? O avrei doovuto farlo in un'altro modo ?

Re: [C++] Matrice indice riga somma massima

Inviato: giovedì 28 maggio 2015, 13:10
da minomic
La parte in cui fai if(r==0) ecc. dovrebbe essere fuori dal ciclo for interno. Infatti prima calcoli la somma degli elementi di una certa riga e poi fai le altre considerazioni.