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 Q5O is
  5. -- Definindo o tipo para a matriz
  6. type Matrix is array (1 .. 100, 1 .. 100) of Integer; -- Máximo de 100x100
  7. A : Matrix; -- Matriz A
  8. N, M : Integer; -- Dimensões da matriz
  9. Zero_Count : Integer := 0; -- Contador de zeros
  10. Total_Elements : Integer; -- Total de elementos na matriz
  11. Percentage : Float; -- Porcentagem de zeros
  12.  
  13. begin
  14. -- Entrada da matriz A
  15. Put("Digite o número de linhas da matriz (n): ");
  16. Get(N);
  17. Put("Digite o número de colunas da matriz (m): ");
  18. Get(M);
  19.  
  20. Put_Line("Digite os elementos da matriz A:");
  21. for I in 1 .. N loop
  22. for J in 1 .. M loop
  23. Put("Elemento (" & Integer'Image(I) & ", " & Integer'Image(J) & "): ");
  24. Get(A(I, J));
  25. -- Contando os zeros
  26. if A(I, J) = 0 then
  27. Zero_Count := Zero_Count + 1;
  28. end if;
  29. end loop;
  30. end loop;
  31.  
  32. -- Calculando o total de elementos
  33. Total_Elements := N * M;
  34.  
  35. -- Calculando a porcentagem de zeros
  36. if Total_Elements > 0 then
  37. Percentage := (Float(Zero_Count) / Float(Total_Elements)) * 100.0; -- Conversão para Float
  38. else
  39. Percentage := 0.0; -- Evitar divisão por zero
  40. end if;
  41.  
  42. -- Exibindo a porcentagem de zeros
  43. Put_Line("A porcentagem de elementos 0 na matriz é: " & Float'Image(Percentage) & "%");
  44. end Q5O;
  45.  
Success #stdin #stdout 0.01s 5284KB
stdin
4
4
0
0
0
0
1
2
3
5
6
7
4
8
5
6
7
8

stdout
Digite o número de linhas da matriz (n): Digite o número de colunas da matriz (m): Digite os elementos da matriz A:
Elemento ( 1,  1): Elemento ( 1,  2): Elemento ( 1,  3): Elemento ( 1,  4): Elemento ( 2,  1): Elemento ( 2,  2): Elemento ( 2,  3): Elemento ( 2,  4): Elemento ( 3,  1): Elemento ( 3,  2): Elemento ( 3,  3): Elemento ( 3,  4): Elemento ( 4,  1): Elemento ( 4,  2): Elemento ( 4,  3): Elemento ( 4,  4): A porcentagem de elementos 0 na matriz é:  2.50000E+01%