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 Q5M is
  5. -- Definindo o tipo para a matriz
  6. type Matrix is array (1 .. 10, 1 .. 10) of Integer; -- Máximo de 10x10
  7. A : Matrix; -- Matriz A
  8. N : Integer; -- Dimensão da matriz
  9. Diagonal_Sum : Integer := 0; -- Soma da diagonal principal
  10.  
  11. begin
  12. -- Entrada da matriz A
  13. Put("Digite o tamanho da matriz (n): ");
  14. Get(N);
  15.  
  16. Put_Line("Digite os elementos da matriz A:");
  17. for I in 1 .. N loop
  18. for J in 1 .. N loop
  19. Put("Elemento (" & Integer'Image(I) & ", " & Integer'Image(J) & "): ");
  20. Get(A(I, J));
  21. end loop;
  22. end loop;
  23.  
  24. -- Calculando a soma dos elementos da diagonal principal
  25. for I in 1 .. N loop
  26. Diagonal_Sum := Diagonal_Sum + A(I, I);
  27. end loop;
  28.  
  29. -- Exibindo a soma da diagonal principal
  30. Put_Line("A soma dos elementos da diagonal principal é: " & Integer'Image(Diagonal_Sum));
  31. end Q5M;
  32.  
Success #stdin #stdout 0s 5284KB
stdin
2
5
6
-12
-5
stdout
Digite o tamanho da matriz (n): Digite os elementos da matriz A:
Elemento ( 1,  1): Elemento ( 1,  2): Elemento ( 2,  1): Elemento ( 2,  2): A soma dos elementos da diagonal principal é:  0