Var {вводим точки, записываем в переменную 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.
function SumDig(a: Vector): integer; var i, m, d, s, max: integer; begin s := 0; for i := 1 to n do begin m := a[i]; max := -1; repeat d := (m mod 10); if max < d then max := d; m := m div 10 until m = 0; s := s + max end; SumDig := s end;
var i: integer; M: Vector;
begin Writeln('Введите ', n, ' чисел:'); for i := 1 to n do Read(M[i]); Writeln('Сумма максимальных цифр всех чисел равна ', SumDig(M)) end.
Тестовое решение: Введите 10 чисел: 613 269 839 10 575 569 812 56 401 616 Сумма максимальных цифр всех чисел равна 65
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(20,10,100); a.Println;
a.Select(x->x+50).Println
end.
Пример
24 22 31 78 68 99 82 27 83 15 84 71 14 11 14 59 83 80 24 90
74 72 81 128 118 149 132 77 133 65 134 121 64 61 64 109 133 130 74 140