Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)
Var K:array[1..2,1..13] of integer; i,j,ind,x,y:integer; MAX:real; function RAST(x1,x2,y1,y2:integer):real; begin RAST:=sqrt(sqr(x2-x1)+sqr(y2-y1)); end; begin MAX:=-2*sqr(-10-1); randomize; writeln('Исходные точки:'); for j:=1 to 13 do begin writeln('Точка № ',j,', с координатами(X,Y)'); for i:=1 to 2 do begin K[i,j]:=random(110) - 10; write(K[i,j],' '); end; writeln; end; for i:=1 to 13 do if RAST(0,K[1,i],0,K[2,i])>MAX then begin MAX:=RAST(0,K[1,i],0,K[2,i]); x:=K[1,i]; y:=K[2,i]; ind:=i; end; writeln('Номер точки: ',ind,' Координаты: ',x,' ; ',y); end.
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)