Hola necesito ayuda con un ejercicio de Vectores.
Publicado por Lisa (1 intervención) el 03/06/2020 01:01:58
Hola, este seria el enunciado:
1. Cargar un vector V con N valores aleatorios enteros, que estén en el intervalo [1,1000] y que sean pares.
Validar que N sea mayor que cero y menor o igual a la cantidad máxima de elementos del vector.
2. Mostrar a pedido del usuario la primera o la segunda mitad del vector.
3. Salir mostrando un mensaje de despedida.
Tengo problemas en el segundo punto, no entiendo como debo diseñar el módulo para que la opción a) muestre la primera mitad de los valores del vector entre 1 y 500; y la segunda opción b) muestre la otra mitad de los valores del vector entre 500 y 1000.
Esto es lo que fui avanzando:
1. Cargar un vector V con N valores aleatorios enteros, que estén en el intervalo [1,1000] y que sean pares.
Validar que N sea mayor que cero y menor o igual a la cantidad máxima de elementos del vector.
2. Mostrar a pedido del usuario la primera o la segunda mitad del vector.
3. Salir mostrando un mensaje de despedida.
Tengo problemas en el segundo punto, no entiendo como debo diseñar el módulo para que la opción a) muestre la primera mitad de los valores del vector entre 1 y 500; y la segunda opción b) muestre la otra mitad de los valores del vector entre 500 y 1000.
Esto es lo que fui avanzando:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
program Vectores;
uses
crt;
const
Max= 1000;
type
TVector= array[1..1000] of integer;
var
V: TVector;
N, S, K, Posicion: integer;
Op: char;
procedure cargarVector(var V: TVector; var N: integer);
var
i, A: integer;
begin
i:= 0;
repeat
writeln('Ingrese la cantidad de valores a generar:');
readln(N);
until (N>0) and (N<=1000);
randomize;
for i := 1 to N do
begin
repeat
A:= 2 + random(1000);
until (A Mod 2= 0) and (A<>0);
if (A>1) and (A<=1000) then
V[i] := A;
end;
end;
procedure menu(var Opc: integer);
begin
writeln('1) - Cargar Vector');
writeln('2) - Mostrar la Primera o Segunda mitad del Vector');
writeln('3) - Salir');
writeln('Elija una opcion');
readln(Opc);
end;
procedure mostrarVector(Vec: TVector; N: integer);
var
i: integer;
begin
writeln('Elementos del Vector...');
for i := 1 to N do
writeln('Valor[',i,']=', Vec[i]);
end;
begin
N:= 0;
S:= 3;
repeat
clrscr;
menu(S);
case S of
1: cargarVector(V, N);
2: begin
mostrarVector(V, N);
end;
3: writeln('Hasta luego!');
else
writeln('Error en la opcion...');
end;
readln;
until (S=3);
end.
Valora esta pregunta


0