fork download
  1. with Ada.Text_IO; use Ada.Text_IO;
  2.  
  3. procedure Q5D is
  4. Input_String : String(1 .. 100); -- Tamanho máximo da string
  5. Length : Natural;
  6. Vowel_Count : Integer := 0;
  7. Vowel_List : String(1 .. 100); -- Para armazenar vogais encontradas
  8. Vowel_Index : Integer := 0;
  9.  
  10. begin
  11. -- Leitura da string de entrada
  12. Put_Line("Digite uma string:");
  13. Get_Line(Input_String, Length);
  14.  
  15. -- Contagem de vogais e armazenamento na lista
  16. for I in 1 .. Length loop
  17. case Input_String(I) is
  18. when 'A' | 'a' | 'E' | 'e' | 'I' | 'i' | 'O' | 'o' | 'U' | 'u' =>
  19. Vowel_Count := Vowel_Count + 1;
  20. Vowel_Index := Vowel_Index + 1;
  21. Vowel_List(Vowel_Index) := Input_String(I);
  22. when others =>
  23. null; -- Ignora outros caracteres
  24. end case;
  25. end loop;
  26.  
  27. -- Exibe a quantidade de vogais
  28. Put_Line("Quantidade de vogais: " & Integer'Image(Vowel_Count));
  29.  
  30. -- Exibe as vogais encontradas
  31. if Vowel_Index > 0 then
  32. Put("Vogais encontradas: ");
  33. for I in 1 .. Vowel_Index loop
  34. Put(Vowel_List(I));
  35. end loop;
  36. New_Line;
  37. else
  38. Put_Line("Nenhuma vogal encontrada.");
  39. end if;
  40. end Q5D;
  41.  
Success #stdin #stdout 0.01s 5284KB
stdin
Abacate
stdout
Digite uma string:
Quantidade de vogais:  4
Vogais encontradas: Aaae