Skip to content

Instantly share code, notes, and snippets.

@ernado
Created March 30, 2012 19:45
Show Gist options
  • Save ernado/2254395 to your computer and use it in GitHub Desktop.
Save ernado/2254395 to your computer and use it in GitHub Desktop.
uses crt;
type TDate = string[10]; {свой тип для даты - dd.mm.yyyy}
const N = 5; {Кол-во элементов в массиве}
var
mas : array[1..N] of TDate;
min : TDate;
i : byte; {итератор}
{Older(c1,c2) = True, когда дата в c1 старше даты в c2; Формат дат: c1,c2 - dd.mm.yyyy}
function older (c1,c2:TDate) : boolean;
begin
Older := false;
if copy(c1,7,10) = copy(c2,7,10) then {год одинаковый?}
if copy(c1,4,5) = copy(c2,4,5) then {месяц одинаковый?}
Older := copy(c1,1,2) < copy(c2,1,2) {то сравниваем по дням}
else
Older := copy(c1,4,5) < copy(c2,4,5) {иначе сравниваем по месяцу}
else
Older := copy(c1,7,10) < copy(c2,7,10); {иначе сравниваем по году}
end;
begin
ClrScr; {Добавим данных}
mas[1] := '01.09.1234';
mas[2] := '01.09.1234';
mas[3] := '01.07.1233';
mas[4] := '02.07.1233';
mas[5] := '01.08.1233';
min := mas[1]; {min := '00.00.0000' в общем случае}
for i:=2 to N do {пройдемся по всем датам}
if older(mas[i], min) {сравним с минимальной}
then min := mas[i]; {установим новый минимум}
{в общем случае i:=1}
WriteLn('Minimum: ', min); ReadKey;
end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment