Pascal/Turbo Pascal - Ayuda con programa invertir texto en Pascal

   
Vista:

Ayuda con programa invertir texto en Pascal

Publicado por John hjxg@hotmail.com (2 intervenciones) el 14/04/2012 05:05:03
Hola, necesito una mano con este algoritmo, no encuentro respuestas en ningun sitio...

alguien sabe como introducir una frase en pascal y que esta imprima palabra por palabra al reves sin alterar el orden de la oracion??? tengo el algoritmo pero cambia el sentido de las palabras, es solo que las invierta..

Por ejemplo: la casa es grande: al asac se ednarg

Program ejem;
uses ctr;
var
frase,v: string;
i : integer;
begin
clrScr;
i := 0;
writeln('frase=');
readln(frase);
for i:=0 to length (frase) do
v[i] := frase[i];
for i:= length(frase) downto 0 do
write(v[i]);
End.

Alguien sabe que debo cambiar? no doy con el ciclo.
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

Ayuda con programa invertir texto en Pascal

Publicado por ramon (2072 intervenciones) el 14/04/2012 17:02:43
{Esto realiza lo que tu pones ajusta lo a tus ideas}

program cambia;
uses
crt;
var
frase : string;
cont : integer;


procedure entrafrase;
begin
clrscr;
write('Entre Frase : ');
readln(frase);
end;

procedure cambiafrase(fra : string);
var
nuevafrase : string;
palabra : string[80];
longi, t, p : integer;
begin
t := 1;
longi := 1;
for cont := 1 to length(fra) do
begin
if fra[cont] <> ' ' then
begin
palabra[t] := fra[cont];
palabra[0] := chr(t);
t := t + 1;
end
else
begin
t := longi + 1;
for p := length(palabra) downto 1 do
begin
nuevafrase[t] := palabra[p];
nuevafrase[0] := chr(t);
t := t + 1;
end;
nuevafrase[t] := ' ';
nuevafrase[0] := chr(t);
longi := t;
t := 1;
end;
end;
if length(nuevafrase) < length(fra) then
begin
t := longi + 1;
for p := length(palabra) downto 1 do
begin
nuevafrase[t] := palabra[p];
nuevafrase[0] := chr(t);
t := t + 1;
end;
end;
clrscr;
writeln(' ',fra);
writeln(' ',nuevafrase);
readln;
end;

begin
clrscr;
entrafrase;
cambiafrase(frase);
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