fork download
  1. with Ada.Text_IO; use Ada.Text_IO;
  2. with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
  3.  
  4. procedure Q5J is
  5. -- Definindo tipos para as matrizes
  6. type Matrix is array (1 .. 10, 1 .. 10) of Integer; -- Máximo de 10x10
  7. A, B, C : Matrix; -- Matrizes A, B e C
  8. M, N, P, Q : Integer; -- Dimensões das matrizes
  9.  
  10. begin
  11. -- Entrada da matriz A
  12. Put("Digite o número de linhas da matriz A (m): ");
  13. Get(M);
  14. Put("Digite o número de colunas da matriz A (n): ");
  15. Get(N);
  16.  
  17. Put_Line("Digite os elementos da matriz A:");
  18. for I in 1 .. M loop
  19. for J in 1 .. N loop
  20. Put("Elemento (" & Integer'Image(I) & ", " & Integer'Image(J) & "): ");
  21. Get(A(I, J));
  22. end loop;
  23. end loop;
  24.  
  25. -- Entrada da matriz B
  26. Put("Digite o número de linhas da matriz B (p): ");
  27. Get(P);
  28. Put("Digite o número de colunas da matriz B (q): ");
  29. Get(Q);
  30.  
  31. Put_Line("Digite os elementos da matriz B:");
  32. for I in 1 .. P loop
  33. for J in 1 .. Q loop
  34. Put("Elemento (" & Integer'Image(I) & ", " & Integer'Image(J) & "): ");
  35. Get(B(I, J));
  36. end loop;
  37. end loop;
  38.  
  39. -- Verificando se as dimensões são compatíveis para a adição
  40. if M = P and N = Q then
  41. -- Calculando a matriz C = A + B
  42. for I in 1 .. M loop
  43. for J in 1 .. N loop
  44. C(I, J) := A(I, J) + B(I, J);
  45. end loop;
  46. end loop;
  47.  
  48. -- Exibindo a matriz C
  49. Put_Line("A matriz C = A + B é:");
  50. for I in 1 .. M loop
  51. for J in 1 .. N loop
  52. Put(Integer'Image(C(I, J)) & " ");
  53. end loop;
  54. New_Line; -- Nova linha após cada linha da matriz
  55. end loop;
  56. else
  57. Put_Line("As matrizes devem possuir o mesmo tamanho para efetuar a adição");
  58. end if;
  59. end Q5J;
  60.  
Success #stdin #stdout 0s 5272KB
stdin
2
2
2
2
2
2
2
2
1
-2
0
-5
stdout
Digite o número de linhas da matriz A (m): Digite o número de colunas da matriz A (n): Digite os elementos da matriz A:
Elemento ( 1,  1): Elemento ( 1,  2): Elemento ( 2,  1): Elemento ( 2,  2): Digite o número de linhas da matriz B (p): Digite o número de colunas da matriz B (q): Digite os elementos da matriz B:
Elemento ( 1,  1): Elemento ( 1,  2): Elemento ( 2,  1): Elemento ( 2,  2): A matriz C = A + B é:
 3  0 
 2 -3