Guest User

Untitled

a guest
Jul 20th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. program Grybai;
  2.  
  3. const Ivestis = 'U1.txt';
  4. const Isvestis = 'U1rez.txt';
  5.  
  6.  
  7.  
  8. type Laimikis = record
  9.  
  10. diena: longint;
  11.  
  12. baravykai: longint;
  13.  
  14. raudonikiai: longint;
  15.  
  16. lepsiai: longint;
  17.  
  18. end;
  19.  
  20. type U1 = record
  21. n: longint;
  22. laimikiai: array[ 1..100 ] of Laimikis;
  23. laimingiausiaDiena: longint;
  24. laimingiausiosDienosLaimikiai: longint;
  25. end;
  26.  
  27. procedure Nuskaityti( failoPavadinimas: string; var duomenys: U1 );
  28. var i, j: longint;
  29. var failas: text;
  30. begin
  31. Assign( failas, failoPavadinimas );
  32. Reset( failas );
  33.  
  34. ReadLn( failas, duomenys.n );
  35.  
  36. for i := 1 to duomenys.n do
  37.  
  38. begin
  39.  
  40. Read( failas, duomenys.laimikiai[ i ].diena );
  41.  
  42. Read( failas, duomenys.laimikiai[ i ].baravykai );
  43.  
  44. Read( failas, duomenys.laimikiai[ i ].raudonikiai );
  45.  
  46. Read( failas, duomenys.laimikiai[ i ].lepsiai );
  47.  
  48. ReadLn( failas );
  49.  
  50.  
  51.  
  52. for j := 1 to i do
  53.  
  54. begin
  55.  
  56. if ( duomenys.laimikiai[ i ].diena = duomenys.laimikiai[ j ].diena ) and ( i <> j ) then
  57.  
  58. begin
  59.  
  60. duomenys.laimikiai[ i ].baravykai := duomenys.laimikiai[ i ].baravykai + duomenys.laimikiai[ j ].baravykai;
  61.  
  62. duomenys.laimikiai[ i ].raudonikiai := duomenys.laimikiai[ i ].raudonikiai + duomenys.laimikiai[ j ].raudonikiai;
  63.  
  64. duomenys.laimikiai[ i ].lepsiai := duomenys.laimikiai[ i ].lepsiai + duomenys.laimikiai[ j ].lepsiai;
  65.  
  66.  
  67.  
  68. duomenys.laimikiai[ j ].diena := 0;
  69.  
  70. end;
  71.  
  72. end;
  73.  
  74. end;
  75.  
  76. Close( failas );
  77. end;
  78.  
  79. procedure Irasyti( failoPavadinimas: string; duomenys: U1 );
  80. var i: longint;
  81. var failas: text;
  82. begin
  83. Assign( failas, failoPavadinimas );
  84. Rewrite( failas );
  85.  
  86. for i := 1 to duomenys.n do
  87. begin
  88. if duomenys.laimikiai[ i ].diena <> 0 then
  89.  
  90. begin
  91.  
  92. WriteLn
  93. (
  94. failas,
  95. duomenys.laimikiai[ i ].diena,
  96. ' ',
  97. duomenys.laimikiai[ i ].baravykai,
  98. ' ',
  99. duomenys.laimikiai[ i ].raudonikiai,
  100. ' ',
  101. duomenys.laimikiai[ i ].lepsiai
  102. );
  103.  
  104. end;
  105. end;
  106.  
  107. WriteLn( failas, duomenys.laimingiausiaDiena, ' ', duomenys.laimingiausiosDienosLaimikiai );
  108. Close( failas );
  109. end;
  110.  
  111. procedure FiltruotiPagalDiena( var duomenys: U1 );
  112. var i, j: longint;
  113. var laikinas: Laimikis;
  114. begin
  115. for i := 1 to duomenys.n do
  116. begin
  117. for j := i to duomenys.n do
  118. begin
  119. if duomenys.laimikiai[ i ].diena > duomenys.laimikiai[ j ].diena then
  120.  
  121. begin
  122.  
  123. laikinas := duomenys.laimikiai[ i ];
  124.  
  125. duomenys.laimikiai[ i ] := duomenys.laimikiai[ j ];
  126.  
  127. duomenys.laimikiai[ j ] := laikinas;
  128.  
  129. end;
  130. end;
  131. end;
  132. end;
  133.  
  134. function Sumuoti( laimikis_: Laimikis ): longint;
  135. begin
  136. Sumuoti := laimikis_.baravykai + laimikis_.raudonikiai + laimikis_.lepsiai;
  137. end;
  138.  
  139. procedure NustatytiLaimingiausiaDiena( var duomenys: U1 );
  140. var i, indeksas: longint;
  141. begin
  142. indeksas := 0;
  143.  
  144. for i := 1 to duomenys.n do
  145. begin
  146. if indeksas <> 0 then
  147. begin
  148. if Sumuoti( duomenys.laimikiai[ i ] ) > Sumuoti( duomenys.laimikiai[ indeksas ] ) then
  149. begin
  150. indeksas := i;
  151. end;
  152. end
  153. else
  154. begin
  155. indeksas := i;
  156. end;
  157. end;
  158.  
  159. if indeksas <> 0 then
  160. begin
  161. duomenys.laimingiausiaDiena := duomenys.laimikiai[ indeksas ].diena;
  162. duomenys.laimingiausiosDienosLaimikiai := Sumuoti( duomenys.laimikiai[ indeksas ] );
  163. end
  164. else
  165. begin
  166. duomenys.laimingiausiaDiena := 0;
  167. duomenys.laimingiausiosDienosLaimikiai := 0;
  168. end;
  169. end;
  170.  
  171.  
  172. var globalusDuomenys: U1;
  173.  
  174.  
  175. begin
  176. Nuskaityti( Ivestis, globalusDuomenys );
  177. FiltruotiPagalDiena( globalusDuomenys );
  178. NustatytiLaimingiausiaDiena( globalusDuomenys );
  179. Irasyti( Isvestis, globalusDuomenys );
  180.  
  181.  
  182. ReadLn;
  183.  
  184. end.
Add Comment
Please, Sign In to add comment