Компьютерного производства рабочее время с 0.00 до 23.59 часов. Когда произвели компьютер сразу комп попадает в погрузочный отдел и зразу грузит в машину. Компьютеры в машину грузят не больше чем один час от изготовления первого компа. Загрузивши последний комп машина уежает. Другая машина приезжает когда новый комп произвели. В последнию машину грузят комп до конца рабочего времени.
Напишите программу которая находит сколько машин за день было и сколько компов погрузилось в каждую машину.
Первичные данный записаны в файле duom.txt . На первой строчке написан натуральное число n(<=1440), обозначает сколько компьютеров произведено всего. На второй строчке записаны два натуральных числа h и m обозначающее час и минуты которые показывают время погрузки компа.
Результаты записываем в файл rez.txt На первой строчке пишем сколько машин погрузили на остальных строчках пишим сколько в каждой машине компов.
Пример начальные данные
8
12 30
23 59
13 29
11 0
0 30
13 31
0 0
13 30
результат
5
2
1
2
2
1
Объяснение
В первую машину погрузили компы в 0.00 и 0.30 час.
во вторую машину погрузили в 11.00 час.
в третию машину погрузили в 12.30 и 13.29 час.
в четвертую машину погрузили в 13.30 и 13.31 час.
в пятую машину погрузили компы в 23.59 час.
В программе сделал сортировку времени по возрастанию
Потом сравниваю время и там только пары показывает ну остальные показывает но не так как я хотел они просто повторяются несколько раз бессмысленно и все
program masdvi;
var n,i,j,p,c:0..1440;
h:array [0..1440] of 0..23;
m:array [0..1440] of 0..59;
duom,rez:text;
a:0..24;
b:0..59;
begin
assign(duom,'duom.txt');
Assign (rez,'rez.txt');
reset (duom);
rewrite (rez);
Readln(duom,n);
for i:=1 to n do
readln(duom,h[i],m[i]);
{********************cortirovka******************************}
for j:=1 to n do
for i:=1 to n-1 do
if (h[i]=h[i+1]) and (m[i]>m[i+1])
then begin
a:=h[i];
h[i]:=h[i+1];
h[i+1]:=a;
b:=m[i];
m[i]:=m[i+1];
m[i+1]:=b;
end
else if (h[i]>h[i+1]) then begin
a:=h[i];
h[i]:=h[i+1];
h[i+1]:=a;
b:=m[i];
m[i]:=m[i+1];
m[i+1]:=b;
end;
{*****************vv error*********************************}
for i:=1 to n do
begin
p:=1;
j:=0;
for j:=i+1 to n do
begin
{writeln('i= ',i,' j= ',j);}
a:=h[i];
inc(a);
if h[i]=h[j] then begin inc(p); writeln('p= ',p,' ',h[i],' = ',h[j],' ',m[i],' ',m[j]); end;
if (a=h[j]) and (m[i]>m[j]) then begin inc(p); writeln('kjh p= ',p,' ',h[i],' = ',h[j],' ',m[i],' ',m[j]); end;
{if (h[i]<>h[j]) and (a<>h[j]) and (p=1) then begin inc(p) writeln(h[i],' ',m[i]); inc(i); end; }
{if (h[i]<>h[j]) and (a<>h[j]) and (p>1) then begin writeln('kkmj') writeln('p= ',p); i:=i+p-1; j:=i;p:=1; writeln('i= ',i); end; }
end;
{writeln('p= ',p);} i:=i+p-1; {writeln('i= ',i);}
end;
{*****************vivod*******************************}
for i:=1 to n do
writeln(h[i],' ',m[i]);
readln;
close(duom);
close(rez);
end.