Ejercicios Con Matrices

  1. Mostrar la diagonal principal. ( Solo las matrices cuadradas tienen diagonales).
  2. Mostrar la diagonal secundaria. 
  3. Mostrar triángulo superior según la diagonal principal – EXCLUYENDO LA DIAGONAL.
  4. Mostrar triángulo inferior según la diagonal principal – EXCLUYENDO LA DIAGONAL.
  5. Mostrar triángulo superior según la diagonal principal – INCLUYENDO LA DIAGONAL.
  6. Mostrar triángulo inferior según la diagonal principal – INCLUYENDO LA DIAGONAL.
  7. Mostrar triángulo superior según la diagonal secundaria – EXCLUYENDO LA DIAGONAL.
  8. Mostrar triángulo inferior según la diagonal secundaria – EXCLUYENDO LA DIAGONAL.
  9. Mostrar triángulo superior según la diagonal secundaria – INCLUYENDO LA DIAGONAL.
  10. Mostrar triángulo inferior según la diagonal secundaria – INCLUYENDO LA DIAGONAL.
  11. Mostrar ambos triángulos al mismo tiempo según diagonal principal.
  12. Mostrar ambos triángulos al mismo tiempo según diagonal secundaria.
  13. Mostrar cada uno de los siguientes triángulos por separado – EXCLUYENDO LAS DIAGONALES.
  1. Ídem que el anterior, pero INCLUYENDO LAS DIAGONALES (es decir el triángulo con sus porciones de la diagonal, no toda la diagonal).
  2. Trasponer la matriz según la diagonal principal.
  3. Trasponer la matriz según la diagonal secundaria.
  4. Trasponer la matriz a 90° horizontalmente.
  5. Trasponer la matriz a 90° verticalmente. 
  6. Trasponer la matriz según el centro.
  7. ¿Es la matriz simétrica?
  8. ¿Es la matriz identidad?
  9. Producto de matrices!! MUY IMPORTANTE
  10. Dado un i, j > mostrar todos los vecinos de ese i, j (el máximo es hasta 8 vecinos).
  11. Dado un i, j > mostrar la mayor matriz que tenga a ese i, j de vértice.
  1. (i, j) Inferior izquierdo.
  2. (i, j) Inferior derecho.
  3. (i, j) Superior izquierdo.
  4. (i, j) Superior derecho.
  1. Dado un i, j > mostrar la mayor matriz CUADRADA que tenga a ese i, j de vértice.
  2. Dado un i, j > mostrar la menor matriz que tenga a ese i, j de vértice.
  3. Dado un i, j > mostrar la menor matriz CUADRADA que tenga a ese i, j de vértice.
  4. 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;
}