Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.95 KB | None | 0 0
  1. //Autor: David Alonso Cantú Martínez
  2. //Matrícula: A00822455
  3. //Fecha: 18/02/2020
  4. //Pregunta al usuario datos de una matriz 2x2 y desplegar
  5. //las dos matrices, la suma, resta y multiplicación de cada una
  6.  
  7. #include "stdio.h"
  8. #define size 2
  9.  
  10. //Imprime las matrices
  11. void printMat(int iMat[size][size]){
  12.     printf("La matriz es: \n");
  13.     for(int i = 0; i < size; i++)
  14.     {
  15.         for(int j = 0; j < size; j++)
  16.         {
  17.             //Imprime cada valor de la matriz
  18.             printf("%d\t", iMat[i][j]);  
  19.         }
  20.         //Cambia de renglón
  21.         printf("\n");
  22.     }
  23. }
  24.  
  25. //Suma dos matrices y luego despliega el resultado
  26. void SumaMat(int iMatA[size][size], int iMatB[size][size])
  27. {
  28.     int iMatAux[size][size];
  29.     for(int i = 0; i < size; i++)
  30.     {
  31.         for(int j = 0; j < size; j++)
  32.         {
  33.             iMatAux[i][j] = iMatA[i][j] + iMatB[i][j]; //Suma las matrices
  34.         }
  35.     }
  36.     printf("---Suma de dos matrices---\n");
  37.     printMat(iMatAux); //Llama a printMat para desplegar el resultado
  38.  
  39. }
  40.  
  41. //Resta dos matrices y luego despliega el resultado
  42. void RestaMat(int iMatA[size][size], int iMatB[size][size])
  43. {
  44.     int iMatAux[size][size];
  45.     for(int i = 0; i < size; i++)
  46.     {
  47.         for(int j = 0; j < size; j++)
  48.         {
  49.             iMatAux[i][j] = iMatA[i][j] - iMatB[i][j]; //Resta las matrices
  50.         }
  51.     }
  52.     printf("---Resta de dos matrices---\n");
  53.     printMat(iMatAux); //Llama a printMat para desplegar el resultado
  54. }
  55.  
  56. //Multiplica dos matrices, y luego despliega el resultado
  57. void MultMat(int iMatA[size][size], int iMatB[size][size])
  58. {
  59.     int iMatAux[size][size];
  60.     int iAux = 0;
  61.     for(int i = 0; i < size; i++)
  62.     {
  63.         for(int j = 0; j < size; j++)
  64.         {
  65.             for(int k = 0; k < size; k++)
  66.             {
  67.                 iAux +=  iMatA[i][k]*iMatB[k][j]; //Multiplicando las matrices
  68.             }
  69.             iMatAux[i][j] = iAux; //Asignando valor aux a la matriz a desplegar
  70.             iAux = 0;
  71.         }
  72.     }
  73.     printf("---Multiplicacion de dos matrices---\n");
  74.     printMat(iMatAux); //Llama a printMat para desplegar el resultado
  75. }
  76.  
  77. //Función Principal
  78. int main()
  79. {
  80.     //Varaibles a usar para matrices  
  81.     int iMatOne[size][size];
  82.     int iMatTwo[size][size];
  83.  
  84.    
  85.     printf("Dame los 4 elementos de la matriz uno: \n");
  86.     for(int i = 0; i < size; i++)
  87.     {
  88.         for(int j = 0; j < size; j++)
  89.         {
  90.             scanf("%d", &iMatOne[i][j]);
  91.         }
  92.     }
  93.  
  94.     printf("Dame los 4 elementos de la matriz dos: \n");
  95.     for(int i = 0; i < size; i++)
  96.     {
  97.         for(int j = 0; j < size; j++)
  98.         {
  99.             scanf("%d", &iMatTwo[i][j]);
  100.         }
  101.     }
  102.    
  103.     //Llamada a funciones
  104.     printf("---Matriz Uno---\n");
  105.     printMat(iMatOne);
  106.     printf("---Matriz Dos---\n");
  107.     printMat(iMatTwo);
  108.     SumaMat(iMatOne, iMatTwo);
  109.     RestaMat(iMatOne, iMatTwo);
  110.     MultMat(iMatOne, iMatTwo);
  111.  
  112.  
  113.     return 0;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement