Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program trans;
- type autobusai = record
- stot: string[20];
- marsrutas: integer;
- end;
- type masyvas1 = array [1..100] of autobusai;
- type masyvas2 = array [1..100] of integer;
- var a: masyvas1; atr, k: masyvas2; f: text; n, max: integer;
- procedure skaitymas (var f: text; var n: integer; a: masyvas1; k: masyvas2);
- var i, j: integer;
- begin
- assign(f, 'U2.txt');
- reset(f);
- readln(f, n);
- for i:=1 to n do
- begin
- read(f, a[i].stot, k[i]); //n-stoteliu sk, k-marsrutu sk
- for j:=1 to k[i] do
- read(f, a[i][j].marsrutas);
- readln(f);
- end;
- close(f);
- end;
- procedure atrinkimas (a: masyvas1; atr, k: masyvas2; n: integer);
- var h, f, i, j: integer;
- begin
- for h:=1 to n do
- begin
- for f:=1 to k[i] do
- atr[a[h][f].marsrutas] := 0;
- end;
- for i:=1 to n do
- begin
- for j:=1 to k[i] do
- atr[a[i][j].marsrutas] := atr[a[i][j].marsrutas] + 1;
- end;
- end;
- function maximum (a: masyvas1; atr, k: masyvas2; n: integer) : integer;
- var i, j: integer;
- begin
- maximum := atr[a[1][1].marsrutas];
- for i:=1 to n do
- begin
- for j:=1 to k[i] do
- begin
- if maximum < atr[a[i][j].marsrutas]
- then maximum := atr[a[i][j].marsrutas];
- end;
- end;
- end;
- procedure rasymas (f: text; max, n: integer; a: masyvas1; k: masyvas2);
- var i, j: integer;
- begin
- assign(f, 'U2rez.txt');
- rewrite(f);
- writeln(f, max);
- for i:=1 to n do
- begin
- for j:=1 to k[i] do
- begin
- if a[i][j].marsrutas = max
- then writeln(f, a[i].stot);
- end;
- end;
- end;
- begin
- skaitymas(f, n, a, k);
- atrinkimas(a, atr, k, n);
- max := maximum(a, atr, k, n);
- rasymas(f, max, n, a, k);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement