Up otxetorud y or = Rup otxetorud yo = texto puro y duro
comprueba con este miniprograma los resultados que ademas son son reversibles ,o leelo de derecha a izquierda .... o mejor prueba con palabras como NABUCO o alguna que se te suene mucho o se te ocurra.
uses crt,uraton,ucadenas;
var cadena,cadenai:string;
cadena1,cadena2,cadena3,cadena4:string;
cadenaL,cadenaR:string;
longitud:byte;
a:integer;
tmp:char;
espera:integer;
dato:string;
function rotar_izquierda(cadena:string):string;
{ rota un caracter hacia la izquerda la cadena }
var
longitud:byte;
tmp:char;
a:integer;
begin
if cadena<>'' then
begin
longitud:=length(cadena);
tmp:=cadena[1];
for a:=1 to longitud do
begin
cadena[a]:=cadena[a+1];
end;
cadena[longitud]:=tmp;
rotar_izquierda:=cadena;
end
else
begin
rotar_izquierda:='';
end;
end;
function rotar_derecha(cadena:string):string;
{ rota un caracter hacia la derecha la cadena }
var
longitud:byte;
tmp:char;
a:integer;
begin
longitud:=length(cadena);
tmp:=cadena[longitud];
if cadena<>'' then
begin
for a:=longitud downto 1 do
begin
cadena[a]:=cadena[a-1];
end;
cadena[1]:=tmp;
rotar_derecha:=cadena;
end
else
begin
rotar_derecha:='';
end;
end;
function cadena_inversa(ww:string):string;
{ invierte la cadena de la forma "HOLA" ->"ALOH" }
var a:integer;
xx:string;
begin
xx:='';
for a:=length(ww) downto 1 do
begin
xx:=xx+(ww[a]);
end;
cadena_inversa:=xx;
end;
begin
textcolor(7);
clrscr;
repeat
readln(dato);
clrscr;
cadena:=dato;
cadenai:=cadena_inversa(cadena);
cadena1:=rotar_derecha(cadena);
cadena2:=rotar_derecha(cadenai);
for a:=1 to length(cadena) do
begin
cadena1:=rotar_izquierda(cadena1);
cadena2:=rotar_izquierda(cadena2);
writeln(capitalizar(cadena1),' ',capitalizar(cadena2));
end;
until dato='';
end.
ATSAHOGEUL