Problema array bidimensionale c++

Pubblicità

assassins

Utente Attivo
Messaggi
25
Reazioni
0
Punteggio
25
salve avrei un problema con gli array bidimensionali, oggi a scuola hanno assegnato questo problema, cioè data una matrice quadrata 5x5 devo calcolarmi il quadrante superiore e inferiore senza toccare i numeri appartenenti alla diagonale principale non so se ho reso l'idea o sono stato chiaro, il punto e' che oggi in classe ne abbiamo fatto uno sulla somma della diagonale principale e secondaria e sono riuscito a farlo ma questo non ci riesco proprio cioè mi impallo potete darmi una mano please????
se qualcuno ci riesce non so mi potrebbe postare anche il codice gentilmente???
 
ho descritto tutto nell'immagine sottostante il link
25rziia.jpg
 
somma tutto e sottrai la diagonale principale :

oppure somma tutto con 2 cicli annidati ma se si x,y son punti della diagonale non vengon sommati
 
ciao,

daronk credo che con "senza toccare" intenda dire che non deve accedere agli elementi sulla diagonale... quindi fare un numero di iterazioni pari al numero di elementi sopra e sotto alla diagonale principale.

Se è così... puoi fare in questo modo (esempio per gli elementi sopra):

Codice:
// Considerando la matrice dichiarata come int matrice[5][5]
// e già inizializzata...

    for(int i=0; i<4; ++i)
    {
        for(int j=i+1; j<5; ++j)
            somma += matrice[i][j];
    }

Per fare la somma degli elementi sotto la diagonale il ciclo è identico solo che devi indicizzare la matrice con matrice[j][i] invece di matrice[j]

P.S:
Ovviamente a me nn piace utilizzare costanti sparse per il codice... ma questo è solo un esempio a scopo didattico...
Le parantesi del for esterno le ho messe solo per aumentare la leggibilità...


spero di esserti stato di aiuto...
ciao!
 
Pubblicità
Pubblicità
Indietro
Top