Oppure

Loading
06/06/10 15:26
nadine91
Ciao a tutti, ho una matrice di dimensioni variabili ( nel senso che ogni volta che avvio il programma devo impostare il numero di righe ed il numero di colonne) e devo trovare il valore massimo di ogni riga della matrice. Per il momento riesco a trovare solamente il valore massimo di tutta la matrice, ma non di ogni riga. Qualcuno può aiutarmi? Grazie mille :asd:
aaa
06/06/10 15:39
TheKaneB
posta il codice che hai scritto, e descrivi il tentativo che hai fatto per trovare il massimo di ogni riga.

Il concetto è esattamente lo stesso che per trovare il massimo di tutta la matrice. Cambia davvero pochissimo nel codice...
aaa
06/06/10 16:11
nadine91
int massimo(matrice mat, int righe, int colonne){
                                                  int i, j;
                                                 
                                                  int max= mat[0][0];
                                                  
                                                  for(i=0; i<righe; i++){
                                                  for(j=0; j<colonne; j++){
                                                  
                                                  
                                                           if(mat[i][j]>max){
                                                           
                                                           max=mat[i][j];
                                                           
                                                           }
                                                           }
                                                           }
                                                          return max;
                                                          
                                                          
                                                           }


per ogni riga non so davvero dove mettere le mani, ho provato cambiando i cicli di for ed il risultato migliore che ho ottenuto è stato che mi ha trovato il massimo di una riga ma non delle altre... se puoi dammi una mano tu :) grazie!
Ultima modifica effettuata da nadine91 06/06/10 16:12
aaa
06/06/10 16:13
nadine91
nel codice non so perchè ma non esce [ i ], quindi dove vedi mat[j] in realtà era mat[ i ][j] ovviamente.
Ultima modifica effettuata da nadine91 06/06/10 16:14
aaa
06/06/10 18:41
Poggi Marco
Ciao!
Ho letto il tuo problema, e ti suggerisco di passare un verrote alla funzione massimo.
Ad ogni suo elemento, andrai a salvare il massimo di ogni riga.
aaa
06/06/10 20:46
carmine
int dim()
{
    cin>>n;
    return n;   
}
int main(void)
{

cout<<" ins n ";
n = dim();
cout<<" ins m ";
m = dim();
int mat[n][m],max[n];
    
    for(i=0; i<n; i++)
    { 
        for(j=0; j<m; j++)
        {                                                    
            cin >>mat[ i ][j];
        } 
    }
    for(i=0;i<n;i++)
    {
        max[ i ]=mat[ i ][0];
    }
    for(i=0; i<n; i++)
    { 
        for(j=0; j<m; j++)
        {                                                    
            if(mat[ i ][j]>max[ i ])
            {                                  
                max[ i ]=mat[ i ][j]; 
            } 
        } 
    } 
    cout<<endl;  
    for(i=0; i<n; i++)
    { 
        cout<<endl;
        for(j=0; j<m; j++)
        {                                                    
            cout<<mat[ i ][j];
        } 
    } 
    cout<<endl;                                                        
    for(i=0;i<n;i++)
    {
        cout<<max[ i ]<<" ";
    }  
aaa
06/06/10 20:48
carmine
La prox volta cerca si fare l'analisi del problema, e non sparare subito istruzioni...il codice ke t ho postato funziona lo provato...spero di averti aiutato ciaoo..
aaa
07/06/10 9:11
nadine91
carmine purtroppo io di c++ non capisco molto...comunque ho seguito il consiglio di utilizzare un vettore per i massimi di ogni riga, e alla fine ho risolto il problema! grazie a tutti per l'aiuto! :k:
aaa