[ Foro de Pascal ]
Hola! como andan? alguien me puede dar una mano con el punto c? no tengo idea de cómo hacerlo. gracias!
Se dispone de un vector con números enteros, de dimensión física dimF y dimensión lógica dimL.
a. Realizar un módulo que imprima el vector desde la primera posición hasta la última.
b. Realizar un módulo que imprima el vector desde la última posición hasta la primera.
c. Realizar un módulo que imprima el vector desde la mitad (dimL DIV 2) hacia la primera
posición, y desde la mitad más uno hacia la última posición.
en el punto a y b hice esto:
program practica5_3;
const t=10;
type dimF=array[1..t]of integer;
procedure imprimir(var n:dimF);
var i:integer;
begin
for i:=1 to t do begin
n[i]:=i;
writeln(' ',n[i]);
end;
end;
procedure imprimir_inv(var n:dimF);
var i:integer;
begin
for i:=t downto 1 do begin
n[i]:=i;
writeln(' ',n[i]);
end;
end;
var n:dimF;
dimL:integer;
begin
imprimir(n);
imprimir_inv(n);
readln;
end.
Hola, al saber imprimir desde la posición 1 hasta la última y viceversa, como lo has hecho en ambos procedimientos, también se hace desde la mitad del vector hacia ambos sentidos. Solo necitarás, en el procedimiento "imprimir", cambiar el 1 por (dimL DIV 2) dentro de la línea donde está el for para que imprima desde la mitad hasta el último valor; y cambiar t por (dimL DIV 2) en el procedimiento "imprimir_inv", en la línea del for, para que imprima los valores desde la mitad hasta el primero.
Saludos.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)