14. Дан файл, содержащий различные даты. Каждая дата – это
число, месяц и год. Найти
самую позднюю дату.
Решение
program
lab14;
type
date = record
day: 1..31;
mounth: 1..12;
year: 1900..2100;
end;
var
j,i: integer;
tmp: date;
a: array [1..30] of date;
c: char;
{f:file
of date;}
begin
j:=0;
{êîëè÷åñòâî äàò}
repeat
inc(j);
write('Ââåäèòå ÷èñëî: ');
readln(a[j].day);
write('Ââåäèòå ìåñÿö: ');
readln(a[j].mounth);
write('Ââåäèòå ãîä: ');
readln(a[j].year);
write('Äîáàâèòü åùå îäíó äàòó?(y/n): ');
readln(c);
until not (c in ['y','Y']);
{
Assign(f,’date’);
Rewrite(f);
For i:=1
to j do
write(f,a[i]);
Close(f);
Reset(f);
J:=1;
While
not (eof(f)) do
Begin
Read(f,a[j]);
Inc(j);
End;
}
{Íàõîäèì ñàìóþ ïîçäíþþ äàòó}
tmp:=a[1];
for i:= 2 to j do
if a[i].year>tmp.year then
tmp:=a[i]
else
if a[i].year=tmp.year then
if a[i].mounth>tmp.mounth then
tmp:=a[i]
else
if a[i].mounth=tmp.mounth then
if a[i].day>tmp.day then
tmp:=a[i];
writeln('Ñàìàÿ ïîçäíÿÿ äàòà: ',tmp.day,'
',tmp.mounth,' ',tmp.year);
end.




