Ejercicios Con Matrices

- Mostrar la diagonal principal. ( Solo las matrices cuadradas tienen diagonales).
- Mostrar la diagonal secundaria.
- Mostrar triángulo superior según la diagonal principal – EXCLUYENDO LA DIAGONAL.
- Mostrar triángulo inferior según la diagonal principal – EXCLUYENDO LA DIAGONAL.
- Mostrar triángulo superior según la diagonal principal – INCLUYENDO LA DIAGONAL.
- Mostrar triángulo inferior según la diagonal principal – INCLUYENDO LA DIAGONAL.
- Mostrar triángulo superior según la diagonal secundaria – EXCLUYENDO LA DIAGONAL.
- Mostrar triángulo inferior según la diagonal secundaria – EXCLUYENDO LA DIAGONAL.
- Mostrar triángulo superior según la diagonal secundaria – INCLUYENDO LA DIAGONAL.
- Mostrar triángulo inferior según la diagonal secundaria – INCLUYENDO LA DIAGONAL.
- Mostrar ambos triángulos al mismo tiempo según diagonal principal.
- Mostrar ambos triángulos al mismo tiempo según diagonal secundaria.
- Mostrar cada uno de los siguientes triángulos por separado – EXCLUYENDO LAS DIAGONALES.

- Ídem que el anterior, pero INCLUYENDO LAS DIAGONALES (es decir el triángulo con sus porciones de la diagonal, no toda la diagonal).
- Trasponer la matriz según la diagonal principal.
- Trasponer la matriz según la diagonal secundaria.
- Trasponer la matriz a 90° horizontalmente.
- Trasponer la matriz a 90° verticalmente.
- Trasponer la matriz según el centro.
- ¿Es la matriz simétrica?
- ¿Es la matriz identidad?
- Producto de matrices!! MUY IMPORTANTE
- Dado un i, j > mostrar todos los vecinos de ese i, j (el máximo es hasta 8 vecinos).
- Dado un i, j > mostrar la mayor matriz que tenga a ese i, j de vértice.
- (i, j) Inferior izquierdo.
- (i, j) Inferior derecho.
- (i, j) Superior izquierdo.
- (i, j) Superior derecho.
- Dado un i, j > mostrar la mayor matriz CUADRADA que tenga a ese i, j de vértice.
- Dado un i, j > mostrar la menor matriz que tenga a ese i, j de vértice.
- Dado un i, j > mostrar la menor matriz CUADRADA que tenga a ese i, j de vértice.
- Mostrar la matriz en espiral.
Diagonal Principal:
int main() { int mat[4][4]= {{1,2,3,4},{5,6,7,8}, {9,10,11,12},{13,14,15,16}}; int sumaDP = sumDiagonalPrincipal(mat); printf("La suma de la diagonal principal es: %d \n", sumaDP); return 0; } int sumDiagonalPrincipal(int mat[][4]) { int sumaDP=0; for (int i=0; i<=3; i++) sumaDP += mat[i][i]; return sumaDP; }
Diagonal Principal para que acepte otras matrices que no sean 4 x 4
int sumDiagonalPrincipal(int cols, int mat[][cols]); int main() { int mat[4][4]= {{1,2,3,4},{5,6,7,8}, {9,10,11,12},{13,14,15,16}}; int sumaDP = sumDiagonalPrincipal(4,mat); printf("La suma de la diagonal principal es: %d \n", sumaDP); return 0; } int sumDiagonalPrincipal(int cols, int mat[][cols]) { int sumaDP=0; for (int i=0; i<cols; i++) sumaDP += mat[i][i]; return sumaDP; }
Triangulo Inferior sin diagonal principal
int sumarTriangInf(int cols, int mat[][cols]) { int sum = 0; for (int i=1 ; i< cols; i++) for(int j=0;j<i;j++) sum+= mat[i][j]; return sum; }
Triangulo Superior sin diagonal principal
int sumarTriangSup(int cols, int mat[][cols]) { int sum = 0; for (int i=0 ; i< cols-1; i++) for(int j=i+1 ;j< cols;j++) sum+= mat[i][j]; return sum; }
Diagonal Secundaria
Debo buscar alguna forma en que se relacionan i y j. La idea es realizarlo con un solo for.

int sumarDiagSec(int cols, int mat[][cols]) { int sum = 0; for (int i=0 ; i< cols; i++) sum+= mat[i][cols-1-i]; return sum; }
Suma triangulo Superior Respecto de la Diagonal Secundaria


int sumTriangSuperRespectoDiagSec(int cols, int mat[][cols]) { int suma=0; for (int i=0; i<cols; i++) for(int j=0; j<cols-1-i; j++) suma += mat[i][j]; return suma; }