Const n=10; var xy:array[1..2*n] of real; Lmax,L:real; i,imax:integer; begin Randomize; Writeln('Координаты точек'); Lmax:=0; for i:=1 to n do begin xy[2*i-1]:=101*Random-50; { случайное число на [-50..50] } Write(i:2,xy[2*i-1]:8:3); xy[2*i]:=101*Random-50; Writeln(xy[2*i]:8:3); L:=sqr(xy[2*i-1])+sqr(xy[2*i]); if Lmax<L then begin Lmax:=L; imax:=i end end; Writeln('Наиболее удалена от начала координат'); Writeln('точка A[',imax,'] (',xy[2*imax-1]:0:3,',',xy[2*imax]:0:3,'),'); Writeln('расстояние составляет ',sqrt(Lmax):0:3) end.
Тестовое решение: Координаты точек 1 -7.758 -12.799 2 14.569 -5.722 3 -20.827 2.768 4 16.387 35.180 5 43.135 -17.903 6 42.006 11.257 7 40.026 -4.777 8 -32.236 33.900 9 -13.453 45.271 10 8.171 7.245 Наиболее удалена от начала координат точка A[9] (-13.453,45.271), расстояние составляет 47.227
platan3698952
04.01.2022
Const n=10; var a:array[1..n]of integer; min,max,i,s:integer; begin for i:=1 to n do read(a[i]);{вводим последовательность через пробел, последний элемент ENTER} min:=1;max:=1; {поиск индекса мин и макс} for i:=2 to n do begin if a[i]<a[min]then min:=i; if a[i]>a[max]then max:=i; end; {Если индекс мин меньше чем индекс макс то} if max>min then for i:=min to max do s:=s+a[i] else {если индекс макс меньше чем индекс мин} for i:=max to min do s:=s+a[i]; writeln(' S= ',s); end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу, которая считает сумму четных чисел среди заданных целых чисел a, b, c (числа a, b, c вводятся с клавиатуры
var
a, b, c, s: integer;
begin
readln(a, b, c);
if a mod 2 = 0 then s += a;
if b mod 2 = 0 then s += b;
if c mod 2 = 0 then s += c;
writeln(s);
end.