PDA

View Full Version : [C] Somma degli elementi sulla diagonale secondaria di una matrice


D4rkAng3l
08-12-2008, 16:09
Ragazzi forse sono stupido...ma mi sono bloccato...devo fare un programmino che data una matrice 3X3 mi calcola prima gli elementi sulla diagonale principale (che č tranquilla) e poi gli elementi sulla diagonale secondaria...ecco su questa mi ci blocco...per ora ho fatto cosė:


#include <stdio.h>
#include <stdlib.h>

int main(){

int matrice[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int riga, colonna;
int somma_diagonale_principale = 0;
int somma_diagonale_secondaria = 0;

for(riga=0; riga<3; riga++){ // Calcola la somma degli elementi sulla diagonale principale
for(colonna=0; colonna<3; colonna++){
if(riga==colonna){
somma_diagonale_principale += matrice[riga][colonna];
}
}
}

printf("La somma degli elementi sulla diagonale principale e': %d\n", somma_diagonale_principale);

system("pause");
return 0;
}


Mi sono bloccato sulla condizione che devo usare per calcolare gli elementi sulla diagonale secondaria da mettere dentro al ciclo...mi date una mano? dite che sono stupido a non vedere ste cose? :cry:

Vincenzo1968
08-12-2008, 16:28
Ciao,

cosė dovrebbe andare:


for(riga=2; riga<=0; riga--){ // Calcola la somma degli elementi sulla diagonale secondaria
for(colonna=2; colonna<=0; colonna--){
if(riga==colonna){
somma_diagonale_secondaria += matrice[riga][colonna];
}
}
}

D4rkAng3l
08-12-2008, 16:49
Ciao,

cosė dovrebbe andare:


for(riga=2; riga<=0; riga--){ // Calcola la somma degli elementi sulla diagonale secondaria
for(colonna=2; colonna<=0; colonna--){
if(riga==colonna){
somma_diagonale_secondaria += matrice[riga][colonna];
}
}
}



no la soluzione corretta č questa:


for(riga=0; riga<3; riga++){
for(colonna=0; colonna<3; colonna++){
if(riga+colonna==2){
printf("%d\n", matrice[riga][colonna]);
}
}
}


Grazie cmq
Andrea