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

Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.