[ Foro de Pascal ]

array

15-Jun-2020 20:41
yam esp
1 Respuestas

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.


16-Jun-2020 04:30
Luis Torres (+18)

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.)