Programación General > Pascal
EJERCICIO SOBRE VCTORES
(1/1)
tomas_sauron:
BUEN DIA GNT DEL FORO NECESITO AYUDA CON ESTE PEDAZO DEL ALGORITMO AL INGRESAR EN CICLO WHILE QEDA TILDADO SUSPENDIDO EL PROGRAMA
program max_min;
uses crt;
const
ini=1;
max=100;
type
tnum=integer;
trango=ini..max;
tvector=array[trango]of tnum;
var
vector:tvector;
ulpos:tnum;
procedure ingresar(var vector:tvector; var ulpos:tnum);
begin
ulpos:=ini;
writeln('ingrese');
read(vector[ulpos]);
while(ulpos <= max)and(vector[ulpos] <> 0) do;
begin
inc(ulpos);
writeln('inrese');
read(vector[ulpos])
end;
if vector[ulpos] = 0 then
dec(ulpos)
end;
begin
ingresar(vector,ulpos);
readkey
end.
DESDE YA MUCHAS GRACIAS
--- Citar ---
--- Fin de la cita ---
Thanatos-chan:
Segu tu codigo
--- Código: Pascal --- //primero segun el valor de esta variable tienes que ejecutar 100 vecesmax=100; //segundo tu while lee de la siguiente manera: //mientras "ulpos" <=100 y vector no sea cero, ejecuta el loop //asi que si escribieras el numero 0 deberia terminar....pero...//segun este codigo if vector[ulpos] = 0 thendec(ulpos) end; //si escribes cero, ulpos se reducirá en 1 es decir que si en el primer recorido del loop escribiste un 1 pero en el segundo escribiste cero pensando que iba a salir, el codigo de arriba se devuelve al indice 1 donde el valor es 1 y por eso la condicion del while se cumple y no termina el programavector[1] =1vector[2]=0 //tercero y mas importante, este codigo te deberia dar error ya que tienes un while en blanco porque has terminado con ;//despues del do //el while se deberia ver de esta manera while (ulpos <= max) and (vector[ulpos] <> 0) dobegin//aqui tu codigoend; :hola:
tomas_sauron:
muuuuuuuuuuuuchas gracias!!!!!!!!!!!!!!!!!! era el era el ; luego del DO lo q estaba fallando :beer: muchas gracias m salvast nbo t das una idea no estaba al tanto d ese detalle soy nuevo en esto voy a seguir practicando saludos !!!!!
Navegación
Ir a la versión completa