Pascal/Turbo Pascal - Problemita Array de Registros [PASCAL]

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 42 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Problemita Array de Registros [PASCAL]

Publicado por Luuucas (1 intervención) el 02/03/2018 20:43:27
Holaa, necesito una ayudita, estoy haciendo un programa que me pide lo siguiente:
Se pide un array de registros donde se guardan las caracteristicas de cada persona: edad y peso.

-Se pide que se genere un nuevo array con los datos de las personas mayores de 30 años y 85 kg de las "personas que posean nacionalidad solicitada", ahora bien lo de nacionalidad solicitada no creo que haya resuelto bien en mi codigo, necesito que me ayuden..


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
69
program Uno;
type
	maestroo=RECORD
		edad:integer;
		nacio:string;
		peso:integer;
 
	end;
 
	vec=array[1..100] of maestroo;
	vecc=array[1..100] of integer;
	veccc=array[1..100]of integer;
 
 
var
	maestro:vec;
	Vector2:vecc;
	Vector3:veccc;
 
 
Procedure Carga (var vector:vec);
Var
	i:integer;
Begin
	i:=1;
	writeln('///PROCESO DE CARGA DE USUARIOS///');
	While (vector[i].edad <> 99) and (i <=50) do
	begin
		write('Ingrese la edad: ');
		readln(vector[i].edad);
		writeln(' ');
		if(vector[i].edad <> 99) then
		begin
			write('ingrese nacionalidad:');
			readln(vector[i].nacio);
			write('Ingrese el peso: ');
			readln(vector[i].peso);
			i:=i+1;
		end;
	end;
End;
 
 
 
procedure analisar (var vector:vec; var vector2:vecc; var vector3:veccc);
var
	i:integer;
	k:integer;
	j:integer;
 
begin
	j:=1;
	i:=1;
	k:=1;
	writeln('Ingrese la Nacionalidad Solicitada:');
	readln(vector[i].nacio);
	while(vector[i].edad<>99) do
		begin
			begin
				if(vector[i].edad < 30) and (vector[i].peso < 85) then
					if (vector[i].nacio = vector[i].nacio ) then
						begin
							vector2[k]:=vector[i].edad;
							vector3[j]:=vector[i].peso;
						end;
				i:=i+1;
			end;
		end;
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
sin imagen de perfil
Val: 259
Oro
Ha aumentado 1 puesto en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Problemita Array de Registros [PASCAL]

Publicado por dario (38 intervenciones) el 03/03/2018 05:52:52
Te dejo esto, solo tienes que crear otro vector con los datos pedidos.

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
uses crt;
const
	MAX = 100;
type
	maestroo=RECORD
	edad:integer;
	nacio:string;
	peso:integer;
end;
var
	registro:array[1..MAX] of maestroo;
	n,i:integer;
	nacionalidad:string;
begin
	clrscr;
	writeln('Solo se pueden guardar hasta ',MAX,' personas'); writeln;
	write('Cuantas personas desea ingresar: ');
	readln(n);
	if n > MAX then
		writeln('Lo siento, la capacidad es para ',MAX,' personas')
	else begin
		for i:=1 to n do begin
			write('Edad de la persona: ');
			readln(registro[i].edad);
			write('Nacionalidad: ');
			readln(registro[i].nacio);
			write('Peso en Kg: ');
			readln(registro[i].peso);
		end;
	end;
 
	{Pedir una nacionalidad y mostrar las personas}
	{mayores de 30 anios y con 85 kg de peso}
 
	writeln; write('Ingrese nacionalidad de buscar: ');
	readln(nacionalidad);
	for i:=1 to n do begin
		if registro[i].nacio = nacionalidad then begin
			if (registro[i].edad > 30) and (registro[i].peso = 85) then begin
				writeln('Peso: ',registro[i].peso);
				writeln('edad: ',registro[i].edad);
				writeln('Nacionalidad: ',registro[i].nacio);
			end;
		end;
	end;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar