ADA - Una dudilla, ayuda!!!

 
Vista:

Una dudilla, ayuda!!!

Publicado por Javi (2 intervenciones) el 06/11/2008 18:13:07
Wenas estoy con una practica q consiste en separar las palabras de los espacios y mostrar las palabras y decir el numero de espacios introducidos. Esto soy capaz de acerlo pero tengo un problema y es q necesito controlar q solo introduzca un intro,... weno mi pregunta es si saben como poder controlar con Unbounded string q se introduzca un intro, o al menos una forma de poder detectarlo.

Gracias por las molestias, y si me responden pos muchisimas mas XDDD jajaja Un saludo programadores
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Controlando la introducción de un salto de línea con Unbounded String

Publicado por Alejandro (155 intervenciones) el 30/06/2023 22:49:32
Para controlar que solo se introduzca un salto de línea (intro) utilizando Unbounded String en Ada, puedes utilizar la función `Get_Line` para leer la entrada del usuario. A continuación, puedes verificar la longitud de la cadena leída y asegurarte de que solo contiene el salto de línea.

Aquí tienes un ejemplo de cómo puedes implementar esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
with Ada.Text_IO;
 
procedure Main is
   use Ada.Text_IO;
   Input_String : Unbounded_String;
   Num_Spaces : Integer := 0;
   Num_Newlines : Integer := 0;
begin
   Put("Ingrese una cadena de texto: ");
   Get_Line(Input_String);
 
   -- Verificar si la cadena solo contiene un salto de línea
   if Length(Input_String) = 1 and then Element(Input_String, 1) = Character'Val(10) then
      Num_Newlines := 1;
   else
      -- Separar las palabras de los espacios y contar los espacios
      for I in Input_String'Range' loop
         case Character'Pos(Element(Input_String, I)) is
            when 32 =>
               Num_Spaces := Num_Spaces + 1;
            when 10 =>
               Num_Newlines := Num_Newlines + 1;
         end case;
      end loop;
   end if;
 
   -- Mostrar los resultados
   Put_Line("Número de espacios introducidos: " & Num_Spaces'Image');
   Put_Line("Número de saltos de línea introducidos: " & Num_Newlines'Image');
end Main;

En este ejemplo, utilizamos `Get_Line` para leer la entrada del usuario y almacenarla en `Input_String`, que es de tipo Unbounded_String. Luego verificamos si la longitud de la cadena es 1 y si el único elemento es un salto de línea. Si es así, contamos un único salto de línea. De lo contrario, recorremos la cadena y contamos los espacios y los saltos de línea como se requiere.

Espero que esto te ayude a controlar la introducción de un salto de línea y contar los espacios en tu programa. ¡Buena suerte con tu práctica!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar