Pascal/Turbo Pascal - Strings en Pascal

   
Vista:

Strings en Pascal

Publicado por soulblazer laura-ps00@hotmail.com (19 intervenciones) el 11/10/2011 18:07:54
El profe quiere en que un procedimiento o función que reciba por parámetro una cadena. El sistema deberá ser capaz de reconocer las vocales y desplazarlas hacia la izquierda.

Por ejemplo si tengo la cadena "perro", el programa tiene que ir desplazando las vocales para atrás (la izquierda) y que quede algo así "epror". El profe quiere que se haga dentro de un for y que se usen "copy" e "insert" en la cadena.

No entiendo -__-
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

Strings en Pascal

Publicado por ramon (2072 intervenciones) el 11/10/2011 19:55:27
{Esto ayudara algo}

program astring;
uses
crt;
var
dato2, dato1 : string[50];

procedure entrada;
begin
writeln('Entra Texto : ');
readln(dato1);
end;

procedure colocatexto(tex : string);
var
i : integer;
da : char;
begin
dato2 := copy(tex,1,length(tex));
for i := 1 to length(tex) do
begin
if tex[i] in['a','e','i','o','u'] then
begin
da := tex[i];
delete(tex,i,1);
insert(da,tex,i - 1);
end;
end;
dato1 := copy(tex,1,length(tex));
end;


begin
clrscr;
entrada;
colocatexto(dato1);
writeln(dato2);
writeln(dato1);
readln;
end.
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

Strings en Pascal

Publicado por Armando Fuenmayor patusnalgason@hotmail.com (22 intervenciones) el 13/10/2011 16:05:46
(*************************************************************)
(* Esto fue lo que yo entendi de lo que quiere el profe *)
(*************************************************************)

uses crt;
var
c : char;
cadena : string[30] ;

(***************************************************************)
(* Esta funcion recibe como parametro un caracter y retorna *)
(* verdadero si es vocal en caso contrario retorna falso *)
(***************************************************************)
function voca(xx : char): boolean ;
begin
case xx of
'A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u' : voca := true ;
else
voca := false ;
end;
end;

(***************************************************************)
(* Esta funcion recibe como parametro una cadena de caracteres *)
(* en cade1 almacena las vocales y en cade2 los caracteres no *)
(* vocales luego concatena cade1 y cade2 y retorna la palabra *)
(* con las vocales al principio *)
(***************************************************************)
function primerovocal(palabra : string): string ;
var
cade1, cade2 : string[30];
i : integer;
begin
cade1 := '';
cade2 := '';
for i := 1 to length(palabra) do
begin
if (voca(palabra[i])) then
begin
cade1 := cade1 + palabra[i];
end
else
begin
cade2 := cade2 + palabra[i];
end;
end;
primerovocal := concat(cade1,cade2);
end;
(**********************************************************)
(* Procedimiento del repita hasta que sea diferente de S *)
(**********************************************************)
procedure inicio;
begin
repeat
clrscr;
writeln('Ingrese una palabra: ');
readln(cadena);
writeln;
writeln('la palabra es: ', cadena);
writeln;
writeln;

writeln('la palabra con la vocales al principio es: ', primerovocal(cadena));
writeln;
writeln;
writeln('Desea introducir otra palabra [S/N] ');
writeln;

c := readkey;

until (upcase(c) <> 'S');
end;


(***********************)
(* Programa principal *)
(***********************)
begin
inicio;
end.
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