Pascal/Turbo Pascal - error de ejecucion????

 
Vista:

error de ejecucion????

Publicado por Serguei Esquivel (16 intervenciones) el 28/06/2005 02:08:57
Hola a todos, hice un programa que averiguara si un número cualquiera es Palíndromo (aquellos números que se leen de izquierda a derecha igual que de derecha a iz...), no me da nada de sintaxis, pero a la hora de correrlo, nada más lee los números, agradecería que lo vieran y lo ejecutaran hoy; aqui va el codigo fuente;

program vectorpalin;
uses crt;
type
vecto=array[1..10] of char;
var
v:vecto;
palindromo:boolean;
contador,acumulador,ciclo:integer;
tecla:char;
begin
palindromo:= false;
acumulador:=0;
ciclo:=0;
contador:=0;
clrscr;
repeat
ciclo:=ciclo +1;
v[ciclo]:=readkey;
write(v[ciclo]);
contador:= contador +1;
tecla:=readkey;
until (tecla= chr(13));
for ciclo:=1 to (contador div 2) do
if (v[ciclo] = v[contador -1]) then
acumulador:= acumulador + 1;
if acumulador = (contador div 2) then
palindromo:= true;
if palindromo=true then
begin
clrscr;
gotoxy(40,12);
write('el numero es palindromo');
end;
readkey;
end.



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

RE:error de ejecucion????

Publicado por Diego Romero (786 intervenciones) el 28/06/2005 02:57:10
Hombre, que te has complicado la vida... no sé qué error tiene el programa que nos muestra pero la estrategia que usaste es muy complicada, esta es mi versión.
uses crt;
var
A: string;
I, J: Integer;
pal: boolean;

begin

write('Ingrese el número: ');ReadLn(A);
if Length(A) > 1 then
begin
pal:=true;
J:=Length(A);
I:=1;
while pal and (i<=(Length(A) div 2)) do
begin
pal:=A[i]=A[j];
dec(j);
inc(i);
end; { while }
if pal then Write('Es palíndromo.');
end; { if }
readkey;
end.

Primero pregunto si el tamaño de A es mayor a 1 porque un número de una cifra no es palíndromo de sí mismo.
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

RE:error de ejecucion????

Publicado por Serguei Esquivel (16 intervenciones) el 28/06/2005 03:36:08
Gracias Diego, ya la entendí. A nosotros en la U no nos han dicho lo de "Lenght" y yo no pense que había esa funcion,
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