Accedi

Verifica della somma delle diagonali

PROBLEMA

Caricare una matrice 9×9 di interi e verificare se la somma delle celle delle due diagonali è uguale.


CODICE SORGENTE

#include <stdio.h>
#include <stdlib.h>
#define RIGHE 9
#define COLONNE 9

int main(int argc, char *argv[]){
 //sezione dichiarativa
 int tab[RIGHE][COLONNE];
 int i, j, temp, somma_diagonale_1=0, somma_diagonale_2=0;
 //caricamento array
 for (i=0;i<RIGHE;i++){
  for (j=0;j<COLONNE;j++){
   system("Cls");
   printf("Riga %i Colonna %i\nInserire il valore\n>", i+1, j+1);
   scanf("%i", &tab[i][j]);
  }
  printf("\n");
 }
 //output array
 system("cls");
 printf(">Visualizzazione tabella\n");
 for (i=0;i<RIGHE;i++){
  printf(">|");
  for (j=0;j<COLONNE;j++){
   printf(" %i ", tab[i][j]);
  }
  printf("|");
  printf("\n");
 }
 //output diagonale considerata grafica matrice quadrata
 printf(">Diangonale secondaria della matrice\n");
 for (i=0;i<RIGHE;i++){
  printf(">|");
  for (j=0;j<COLONNE;j++){
   if ((i+j==COLONNE-1) || (i==j))
    printf(" %i ", tab[i][j]);
   else
    printf("   ");
  }
  printf("|");
  printf("\n");
 }
 //somma prima diagonale
 for (i=0;i<RIGHE;i++){
  for (j=0;j<COLONNE;j++){
   if (i+j==COLONNE-1)
    somma_diagonale_1=somma_diagonale_1+tab[i][j];
  }
 }
 //somma seconda diagonale
 for (i=0;i<RIGHE;i++){
  for (j=0;j<COLONNE;j++){
   if (i==j)
    somma_diagonale_2=somma_diagonale_2+tab[i][j];
  }
 }
 if (somma_diagonale_1==somma_diagonale_2)
  printf("\nLa somma delle due diagonali e' guale\n");
 else
  printf("\nLa somma delle due diagonali non e' uguale\n");
 system("PAUSE");
 return 0;
}