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 Q5H is
  5. N : Integer; -- Número de elementos
  6. A : array (1 .. 100) of Integer; -- Array para armazenar os elementos
  7.  
  8. begin
  9. -- Leitura do número de elementos
  10. Put_Line("Digite o número de elementos (até 100):");
  11. Get(N);
  12.  
  13. -- Leitura dos elementos do array
  14. Put_Line("Digite os elementos:");
  15. for I in 1 .. N loop
  16. Get(A(I));
  17. end loop;
  18.  
  19. -- Algoritmo Bubble Sort para ordenar o array
  20. for I in 1 .. N - 1 loop
  21. for J in 1 .. N - I loop
  22. if A(J) > A(J + 1) then
  23. -- Troca A(J) e A(J + 1)
  24. declare
  25. Temp : Integer := A(J);
  26. begin
  27. A(J) := A(J + 1);
  28. A(J + 1) := Temp;
  29. end;
  30. end if;
  31. end loop;
  32. end loop;
  33.  
  34. -- Exibe os elementos ordenados
  35. Put_Line("Elementos em ordem crescente:");
  36. for I in 1 .. N loop
  37. Put(Integer'Image(A(I))); -- Converte o inteiro para string para exibir
  38. Put(" "); -- Adiciona um espaço
  39. end loop;
  40. New_Line;
  41. end Q5H;
  42.  
Success #stdin #stdout 0s 5288KB
stdin
5
2
4
-3
12
0
stdout
Digite o número de elementos (até 100):
Digite os elementos:
Elementos em ordem crescente:
-3  0  2  4  12