luishenriique

Matrizes

May 23rd, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.65 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(){
  5.     int m1[3][3], m2[3][3], m3[3][3];
  6.     int x, i, j;
  7.     int menu, opcao, escalar;
  8.  
  9.     printf("Informe a Matriz 1:\n");
  10.     for(i = 0; i < 3; i++){
  11.         for(j = 0; j < 3; j++){
  12.             printf("M1[%d][%d]: ", i, j);
  13.             scanf("%d", &m1[i][j]); fflush(stdin);
  14.         }
  15.     }
  16.     system("cls");
  17.     printf("Informe a Matriz 2:\n");
  18.     for(i = 0; i < 3; i++){
  19.         for(j = 0; j < 3; j++){
  20.             printf("M2[%d][%d]: ", i, j);
  21.             scanf("%d", &m2[i][j]); fflush(stdin);
  22.         }
  23.     }
  24.     system("cls");
  25.    
  26.     printf("Informe o que voce deseja fazer\n\n");
  27.     printf("(1) - Somar as matrizes.\n");
  28.     printf("(2) - Subtracao entre as matrizes.\n");
  29.     printf("(3) - Multiplicacao da matriz por um escalar.\n");
  30.     printf("(4) - Multiplicacao entre as matrizes.\n");
  31.     printf("(5) - Matriz transposta.\n");
  32.     printf("(6) - Determinante da Matriz.\n\n");
  33.    
  34.     printf("Opcao: ");
  35.     scanf("%d", &menu); fflush(stdin);
  36.     system("cls");
  37.  
  38.     switch(menu){
  39.     case 1:
  40.         printf("Soma das matrizes:\n\n");
  41.         for(i = 0; i < 3; i++){
  42.             for(j = 0; j < 3; j++){
  43.                 m3[i][j] = m1[i][j] + m2[i][j];
  44.             }
  45.         }
  46.        
  47.         for(i = 0; i < 3; i++){
  48.             for(j = 0; j < 3; j++){
  49.                 printf("%d\t", m3[i][j]);
  50.             }
  51.             printf("\n");
  52.         }
  53.         break;
  54.     case 2:
  55.         printf("Subtracao entre as matrizes:\n\n");
  56.         for(i = 0; i < 3; i++){
  57.             for(j = 0; j < 3; j++){
  58.                 m3[i][j] = m1[i][j] - m2[i][j];
  59.             }
  60.         }
  61.        
  62.         for(i = 0; i < 3; i++){
  63.             for(j = 0; j < 3; j++){
  64.                 printf("%d\t", m3[i][j]);
  65.             }
  66.             printf("\n");
  67.         }
  68.         break;
  69.     case 3:
  70.         printf("Qual Matriz voce deseja multiplicar?\n\n");
  71.         printf("(1) - Matriz 1\n");
  72.         printf("(2) - Matriz 2\n\n");
  73.         printf("Opcao: ");
  74.         scanf("%d", &opcao); fflush(stdin);
  75.  
  76.         printf("Informe o valor escalar: ");
  77.         scanf("%d", &escalar); fflush(stdin);
  78.         system("cls");
  79.  
  80.         printf("Matriz %d multiplicada por %d:\n\n", opcao, escalar);
  81.         switch(opcao){
  82.         case 1:
  83.             for(i = 0; i < 3; i++){
  84.                 for(j = 0; j < 3; j++){
  85.                     m3[i][j] = m1[i][j] * escalar;
  86.                 }
  87.             }
  88.        
  89.             for(i = 0; i < 3; i++){
  90.                 for(j = 0; j < 3; j++){
  91.                     printf("%d\t", m3[i][j]);
  92.                 }
  93.                 printf("\n");
  94.             }
  95.             break;
  96.         case 2:
  97.             for(i = 0; i < 3; i++){
  98.                 for(j = 0; j < 3; j++){
  99.                     m3[i][j] = m2[i][j] * escalar;
  100.                 }
  101.             }
  102.        
  103.             for(i = 0; i < 3; i++){
  104.                 for(j = 0; j < 3; j++){
  105.                     printf("%d\t", m3[i][j]);
  106.                 }
  107.                 printf("\n");
  108.             }
  109.             break;
  110.         default:
  111.             printf("Opcao invalida.\n");
  112.         }
  113.         break;
  114.     case 4:
  115.         printf("Multiplicacao entre as matrizes:\n\n");
  116.         for(i = 0; i < 3; i++){
  117.             for(j = 0; j < 3; j++){
  118.                 m3[i][j] = m1[i][j] * m2[i][j];
  119.             }
  120.         }
  121.        
  122.         for(i = 0; i < 3; i++){
  123.             for(j = 0; j < 3; j++){
  124.                 printf("%d\t", m3[i][j]);
  125.             }
  126.             printf("\n");
  127.         }
  128.         break;
  129.     case 5:
  130.         printf("Qual Matriz voce deseja fazer transposicao?\n\n");
  131.         printf("(1) - Matriz 1\n");
  132.         printf("(2) - Matriz 2\n\n");
  133.         printf("Opcao: ");
  134.         scanf("%d", &opcao); fflush(stdin);
  135.         system("cls");
  136.  
  137.         printf("Matriz %d transposta:\n\n", opcao);
  138.         switch(opcao){
  139.         case 1:
  140.             for(i = 0; i < 3; i++){
  141.                 for(j = 0; j < 3; j++){
  142.                     m3[i][j] = m1[j][i];
  143.                 }
  144.             }
  145.        
  146.             for(i = 0; i < 3; i++){
  147.                 for(j = 0; j < 3; j++){
  148.                     printf("%d\t", m3[i][j]);
  149.                 }
  150.                 printf("\n");
  151.             }
  152.             break;
  153.         case 2:
  154.             for(i = 0; i < 3; i++){
  155.                 for(j = 0; j < 3; j++){
  156.                     m3[i][j] = m2[j][i];
  157.                 }
  158.             }
  159.        
  160.             for(i = 0; i < 3; i++){
  161.                 for(j = 0; j < 3; j++){
  162.                     printf("%d\t", m3[i][j]);
  163.                 }
  164.                 printf("\n");
  165.             }
  166.             break;
  167.         default:
  168.             printf("Opcao invalida.\n");
  169.         }
  170.         break;
  171.     case 6:
  172.         printf("Opcao sendo construida.\n\n");
  173.         break;
  174.     default:
  175.         printf("Opcao invalida.\n");
  176.     }
  177.  
  178.     printf("\n\n");
  179.     return 0;
  180. }
Advertisement
Add Comment
Please, Sign In to add comment