Разработайте программу по следующему описанию. В некой игре-стратегии есть солдаты и герои. У всех есть свойство, содержащее уникальный номер объекта, и свойство, в котором хранится принадлежность команде. У солдат есть метод "иду за героем", который в качестве аргумента принимает объект типа "герой". У героев есть метод увеличения собственного уровня.
В основной ветке программы создается по одному герою для каждой команды. В цикле генерируются объекты-солдаты. Их принадлежность команде определяется случайно. Солдаты разных команд добавляются в разные списки.
Измеряется длина списков солдат противоборствующих команд и выводится на экран. У героя, принадлежащего команде с более длинным списком, поднимается уровень.
Отправьте одного из солдат первого героя следовать за ним. Выведите на экран идентификационные номера этих двух юнитов.
{вводим точки, записываем в переменную max расстояние до первой точки, а в переменную max2 - номер точки. Если расстояние до следующей точки меньше, чем до первой точки, то сохраняем новые значения в max и max2}
x1,y1,x2,y2,x3,y3,max,max2:real;
begin
readln(x1,y1,x2,y2,x3,y3);
max:=sqrt(sqr(x1)+sqr(y1));
max2:=1;
if sqrt(sqr(x2)+sqr(y2))<=max then
begin
max:=sqrt(sqr(x2)+sqr(y2));
max2:=2;
end;
if sqrt(sqr(x3)+sqr(y3))<=max then
begin
max:=sqrt(sqr(x3)+sqr(y3));
max2:=3;
end;
writeln(max,' ',max2);
end.
var
A: array[1..40] of integer;
i: integer;
begin
randomize;
writeln('исходные данные:');
for i := 1 to 40 do
begin
A[i] := Random(21);
write(A[i], ' ');
end;
writeln;
writeln('преобрезованный массив:');
for i := 1 to 40 do
begin
if A[i] mod 2 = 0 then
A[i] := Round(A[i]/2)
else
A[i] := A[i] * 3;
write(A[i], ' ');
end;
end.
Имена математических операций - с прописной буквы, и, поскольку есть Random(), то самой первой строкой программы должна быть команда randomize, то есть активация генератора случайных чисел.
У меня работает.