with Ada.Text_IO; use Ada.Text_IO; with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; procedure Q5O is -- Definindo o tipo para a matriz type Matrix is array (1 .. 100, 1 .. 100) of Integer; -- Máximo de 100x100 A : Matrix; -- Matriz A N, M : Integer; -- Dimensões da matriz Zero_Count : Integer := 0; -- Contador de zeros Total_Elements : Integer; -- Total de elementos na matriz Percentage : Float; -- Porcentagem de zeros begin -- Entrada da matriz A Put("Digite o número de linhas da matriz (n): "); Get(N); Put("Digite o número de colunas da matriz (m): "); Get(M); Put_Line("Digite os elementos da matriz A:"); for I in 1 .. N loop for J in 1 .. M loop Put("Elemento (" & Integer'Image(I) & ", " & Integer'Image(J) & "): "); Get(A(I, J)); -- Contando os zeros if A(I, J) = 0 then Zero_Count := Zero_Count + 1; end if; end loop; end loop; -- Calculando o total de elementos Total_Elements := N * M; -- Calculando a porcentagem de zeros if Total_Elements > 0 then Percentage := (Float(Zero_Count) / Float(Total_Elements)) * 100.0; -- Conversão para Float else Percentage := 0.0; -- Evitar divisão por zero end if; -- Exibindo a porcentagem de zeros Put_Line("A porcentagem de elementos 0 na matriz é: " & Float'Image(Percentage) & "%"); end Q5O;
4 4 0 0 0 0 1 2 3 5 6 7 4 8 5 6 7 8
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%