Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Grybai;
- const Ivestis = 'U1.txt';
- const Isvestis = 'U1rez.txt';
- type Laimikis = record
- diena: longint;
- baravykai: longint;
- raudonikiai: longint;
- lepsiai: longint;
- end;
- type U1 = record
- n: longint;
- laimikiai: array[ 1..100 ] of Laimikis;
- laimingiausiaDiena: longint;
- laimingiausiosDienosLaimikiai: longint;
- end;
- procedure Nuskaityti( failoPavadinimas: string; var duomenys: U1 );
- var i, j: longint;
- var failas: text;
- begin
- Assign( failas, failoPavadinimas );
- Reset( failas );
- ReadLn( failas, duomenys.n );
- for i := 1 to duomenys.n do
- begin
- Read( failas, duomenys.laimikiai[ i ].diena );
- Read( failas, duomenys.laimikiai[ i ].baravykai );
- Read( failas, duomenys.laimikiai[ i ].raudonikiai );
- Read( failas, duomenys.laimikiai[ i ].lepsiai );
- ReadLn( failas );
- for j := 1 to i do
- begin
- if ( duomenys.laimikiai[ i ].diena = duomenys.laimikiai[ j ].diena ) and ( i <> j ) then
- begin
- duomenys.laimikiai[ i ].baravykai := duomenys.laimikiai[ i ].baravykai + duomenys.laimikiai[ j ].baravykai;
- duomenys.laimikiai[ i ].raudonikiai := duomenys.laimikiai[ i ].raudonikiai + duomenys.laimikiai[ j ].raudonikiai;
- duomenys.laimikiai[ i ].lepsiai := duomenys.laimikiai[ i ].lepsiai + duomenys.laimikiai[ j ].lepsiai;
- duomenys.laimikiai[ j ].diena := 0;
- end;
- end;
- end;
- Close( failas );
- end;
- procedure Irasyti( failoPavadinimas: string; duomenys: U1 );
- var i: longint;
- var failas: text;
- begin
- Assign( failas, failoPavadinimas );
- Rewrite( failas );
- for i := 1 to duomenys.n do
- begin
- if duomenys.laimikiai[ i ].diena <> 0 then
- begin
- WriteLn
- (
- failas,
- duomenys.laimikiai[ i ].diena,
- ' ',
- duomenys.laimikiai[ i ].baravykai,
- ' ',
- duomenys.laimikiai[ i ].raudonikiai,
- ' ',
- duomenys.laimikiai[ i ].lepsiai
- );
- end;
- end;
- WriteLn( failas, duomenys.laimingiausiaDiena, ' ', duomenys.laimingiausiosDienosLaimikiai );
- Close( failas );
- end;
- procedure FiltruotiPagalDiena( var duomenys: U1 );
- var i, j: longint;
- var laikinas: Laimikis;
- begin
- for i := 1 to duomenys.n do
- begin
- for j := i to duomenys.n do
- begin
- if duomenys.laimikiai[ i ].diena > duomenys.laimikiai[ j ].diena then
- begin
- laikinas := duomenys.laimikiai[ i ];
- duomenys.laimikiai[ i ] := duomenys.laimikiai[ j ];
- duomenys.laimikiai[ j ] := laikinas;
- end;
- end;
- end;
- end;
- function Sumuoti( laimikis_: Laimikis ): longint;
- begin
- Sumuoti := laimikis_.baravykai + laimikis_.raudonikiai + laimikis_.lepsiai;
- end;
- procedure NustatytiLaimingiausiaDiena( var duomenys: U1 );
- var i, indeksas: longint;
- begin
- indeksas := 0;
- for i := 1 to duomenys.n do
- begin
- if indeksas <> 0 then
- begin
- if Sumuoti( duomenys.laimikiai[ i ] ) > Sumuoti( duomenys.laimikiai[ indeksas ] ) then
- begin
- indeksas := i;
- end;
- end
- else
- begin
- indeksas := i;
- end;
- end;
- if indeksas <> 0 then
- begin
- duomenys.laimingiausiaDiena := duomenys.laimikiai[ indeksas ].diena;
- duomenys.laimingiausiosDienosLaimikiai := Sumuoti( duomenys.laimikiai[ indeksas ] );
- end
- else
- begin
- duomenys.laimingiausiaDiena := 0;
- duomenys.laimingiausiosDienosLaimikiai := 0;
- end;
- end;
- var globalusDuomenys: U1;
- begin
- Nuskaityti( Ivestis, globalusDuomenys );
- FiltruotiPagalDiena( globalusDuomenys );
- NustatytiLaimingiausiaDiena( globalusDuomenys );
- Irasyti( Isvestis, globalusDuomenys );
- ReadLn;
- end.
Add Comment
Please, Sign In to add comment