/*Escribir una funcion que nos indique si en una matriz MxM la suma de cada fila, columna y la diagonal suman lo mismo*/
#include<stdio.h> #include<stdlib.h>
#define N 4//fila #define M 4//columna
void sumasEnMatriz (int matriz [N][M]);
main() { int matriz[N][M]={{3,5,5,5},{5,3,5,5},{5,5,4,5},{5,5,5,2}}; sumasEnMatriz(matriz); system ("pause"); }
/*con 3 variables y pasando 1 vezs por la matriz devolverá si la suma de filas,columnas y su diagonal tienen el mismo valor*/ void sumasEnMatriz (int matriz [N][M]) { int i,j,cierto=1,valor=0;//condicionamos que cierto=1 en la que se da por cumplida int filas=0,columna=0,diagonal=0;//sumas que buscamos comparar for (i=0;i<N;i++)//primero suma por columnas { columna=columna+matriz[i][j]; valor=columna; for (j=0;j<M;j++) { filas=filas+matriz[i][j]; if (i==j)//suma de diagonal si se cumple que los contadores coinciden { diagonal=diagonal+matriz[i][j]; } printf ("%.d%c ", matriz[i][j],9); } printf ("%c",10); if (valor!=filas) /*aqui si el valor de una columna es distinto del de la fila se rompe la condicion*/ { cierto=0; } } if (valor!=diagonal) { cierto=0; } if (cierto==1)//simple muestra por pantalla del resultado
printf ("\nLa suma de filas, columnas y tienen el mismo resultado\n");
else printf ("\nLa suma de filas, columnas y tienen el mismo resultado\n"); }
|