program ss const len 100 type address record name string 50 n_home int

 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
70
71
72
73
74
75
76
77
78
79
80
81
program ss;
const
len = 100;
type
address = record
name: string[50];
n_home: integer;
n_flat: integer;
n_floor: integer;
end;
mass = array[1..len] of address;
procedure max_flat(n:integer; const a: mass);
var
i: integer;
s: address;
begin
s := a[1];
for i := 2 to n do
if a[i].n_flat > s.n_flat then s := a[i];
writeln(s[i].name,' ',s[i].n_home,' ',s[i].n_flat,' ',s[i].n_floor);
end;
procedure adr(n:integer; const a:mass; var b:mass);
var i,j:integer;
w:string;
begin
writeln('введите название улицы');
readln(w);
j := 0;
for i := 1 to n do
if a[i].name = w then
begin
j := j + 1;
b[j] := a[i];
end else writeln('адрес не найден');
end;
var n,k:integer;
begin
repeat
writeln('1.Ввод адресов');
writeln('2.Просмотр всех адресов');
writeln('3.Вывод максимального номера квартиры');
writeln('4.Адреса, с заданной улицей');
writeln('5.Количество жильцов 1 этажа');
read(k);
case k of
1:begin
writeln('введите количество адресов');
readln(n);
for i:=1 to n do
with a[i] do
begin
readln(name);
readln(n_home);
readln(n_flat);
readln(n_floor);
end;
end;
2:begin
writeln('Улица / Дом / Квартира / Этаж');
writeln('----------------------------');
for i:=1 to n do
writeln(a[i].name,' ',a[i].n_home,' ',a[i].n_flat,' ',a[i].n_floor);
end;
3:max_flat(n,a);
4:begin
adr(n,a,b);
for i := 1 to n do
writeln(b[i].name,' ',b[i].n_home,' ',b[i].n_flat,' ',b[i].n_floor);
end;
until k=0;
end.