Advertisement
Guest User

Untitled

a guest
Apr 29th, 2010
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.61 KB | None | 0 0
  1. program trans;
  2. type autobusai = record
  3.     stot: string[20];
  4.     marsrutas: integer;
  5.     end;
  6. type masyvas1 = array [1..100] of autobusai;
  7. type masyvas2 = array [1..100] of integer;
  8. var a: masyvas1; atr, k:  masyvas2; f: text; n, max: integer;
  9.  
  10. procedure skaitymas (var f: text; var n: integer; a: masyvas1; k: masyvas2);
  11. var i, j: integer;
  12. begin
  13.     assign(f, 'U2.txt');
  14.     reset(f);
  15.     readln(f, n);
  16.     for i:=1 to n do
  17.         begin
  18.         read(f, a[i].stot, k[i]);           //n-stoteliu sk, k-marsrutu sk
  19.         for j:=1 to k[i] do
  20.             read(f, a[i][j].marsrutas);
  21.         readln(f);
  22.         end;
  23.     close(f);
  24. end;
  25.  
  26. procedure atrinkimas (a: masyvas1; atr, k: masyvas2; n: integer);
  27. var h, f, i, j: integer;
  28. begin
  29.     for h:=1 to n do
  30.         begin
  31.         for f:=1 to k[i] do
  32.             atr[a[h][f].marsrutas] := 0;
  33.         end;
  34.  
  35.     for i:=1 to n do
  36.         begin
  37.         for j:=1 to k[i] do
  38.             atr[a[i][j].marsrutas] := atr[a[i][j].marsrutas] + 1;
  39.         end;
  40. end;
  41.  
  42. function maximum (a: masyvas1; atr, k: masyvas2; n: integer) : integer;
  43. var i, j: integer;
  44. begin
  45.     maximum := atr[a[1][1].marsrutas];
  46.     for i:=1 to n do
  47.         begin
  48.         for j:=1 to k[i] do
  49.             begin
  50.             if maximum < atr[a[i][j].marsrutas]
  51.                 then maximum := atr[a[i][j].marsrutas];
  52.             end;
  53.         end;
  54. end;
  55.  
  56. procedure rasymas (f: text; max, n: integer; a: masyvas1; k: masyvas2);
  57. var i, j: integer;
  58. begin
  59.     assign(f, 'U2rez.txt');
  60.     rewrite(f);
  61.     writeln(f, max);
  62.     for i:=1 to n do
  63.         begin
  64.         for j:=1 to k[i] do
  65.             begin
  66.             if a[i][j].marsrutas = max
  67.                 then writeln(f, a[i].stot);
  68.             end;
  69.         end;
  70. end;
  71.  
  72. begin
  73.     skaitymas(f, n, a, k);
  74.     atrinkimas(a, atr, k, n);
  75.     max := maximum(a, atr, k, n);
  76.     rasymas(f, max, n, a, k);
  77. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement