program Pavasaris; const CMax = 31; // Geguzes menesio dienu skaicius C20 = 20; // Lyginimo kriterijus CDuom = 'U1.txt'; CRez = 'U1rez.txt'; type mas = array[1..CMax] of integer;
var n:integer; // Temperaturos matavimo dienu skaicius Rytas, // Temperaturos ryte Vidurdienis, // Temperaturos per pietus Vakaras:mas; // Temperaturos vakare
procedure Skaityti; var i:integer; F:text; dn, // Geguzes menesio diena ryt, // Temperatura ryte vidurd, // Temperatura per pietus vak:integer; // Temperatura vakare Begin Assign(F,Cduom); Reset(F); ReadLn(F,n); for i := 1 to n do Begin ReadLn(F,dn,ryt,vidurd,vak); // Pildome temperaturu duomenis ryte Rytas[dn] := Rytas[dn] + ryt; // Pildome temperaturu duomenis per pietus Vidurdienis[dn] := Vidurdienis[dn] + vidurd; Vakaras[dn] := Vakaras[dn] + vak; end; Close(F); end;
function MaksimaliTemperatura(DienosMetas:Mas):integer; var i,max:integer; Begin max := DienosMetas[1]; for i := 1 to CMax do if DienosMetas > max then max := DienosMetas; MaksimaliTemperatura := max; end;
procedure Rasyti; var i:integer; F:text; Begin Assign(F,CRez); Rewrite(F); for i:= 1 to CMax do // Tikrinti kuria diena buvo maksimali temperatura if ((Rytas = MaksimaliTemperatura(Rytas)) or (Vidurdienis = MaksimaliTemperatura(Vidurdienis)) or (Vakaras = MaksimaliTemperatura(Vakaras))) then write(F,' ',i); Writeln(F); Close(F); end;
procedure PildytiFaila; var i:integer; t:boolean; // Pozymis, kad visa geguzes menesio diena buvo daugiau nei 20 F:text; Begin Assign(F,CRez); Append(F); t := false; for i:= 1 to CMax do // Tikrinti kuria diena buvo maksimali temperatura if ((Rytas >= C20) and (Vidurdienis >= C20 ) and (Vakaras >= C20 )) then Begin write(F,' ',i); t := true; end; if t = false then write(F,' ',0); Close(F); end;