cadenainvertida
Publicado por oscar (64 intervenciones) el 08/11/2012 23:14:34
hola se me pide q escriba un procdimient que reciba una cadena de caracteres y la devuelva invertida. Luego, introducir el procedimiento en un programa que pida al usuario una cadena, se asegure que no supera una longitud máxima definida en una constante, invoque el procedimiento anterior, y muestre por pantalla la cadena resultado.
hice esto, pero me da errores al compilar, me podeis ayudar?
const TAM = 10;
type
tCadena = string;
var
cadena: tCadena;
procedure invertir_cadena(var cadena: tCadena);
var
i,j:integer;
t:char;
begin
i:=1;
j:=length(cadena);
while (i<j) do begin
t := cadena[i];
cadena[i] := cadena[j];
cadena[j] := t;
i += 1;
j -= 1;
end;
end;
begin
repeat
writeln('Introduzca una cadena, por favor: ');
readln(cadena);
if not(length(cadena) in [0..TAM]) then begin
writeln('Error. Introduzca una cadena de ', TAM, ' caracteres como maximo.');
writeln;
end;
until (length(cadena) in [0..TAM]);
invertir_cadena(cadena);
writeln('La cadena invertida es: ', cadena);
end.
hice esto, pero me da errores al compilar, me podeis ayudar?
const TAM = 10;
type
tCadena = string;
var
cadena: tCadena;
procedure invertir_cadena(var cadena: tCadena);
var
i,j:integer;
t:char;
begin
i:=1;
j:=length(cadena);
while (i<j) do begin
t := cadena[i];
cadena[i] := cadena[j];
cadena[j] := t;
i += 1;
j -= 1;
end;
end;
begin
repeat
writeln('Introduzca una cadena, por favor: ');
readln(cadena);
if not(length(cadena) in [0..TAM]) then begin
writeln('Error. Introduzca una cadena de ', TAM, ' caracteres como maximo.');
writeln;
end;
until (length(cadena) in [0..TAM]);
invertir_cadena(cadena);
writeln('La cadena invertida es: ', cadena);
end.
Valora esta pregunta


0