Array133. Дано множество $$A$$ из $$N$$ точек (точки заданы своими координатами $$x$$, $$y$$). Среди всех точек этого множества, лежащих в первой или третьей четверти, найти точку, наиболее близкую к началу координат. Если таких точек нет, то вывести точку с нулевыми координатами.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
program Array133; var A: array [1..10,1..2] of real; R,Rmin,x,y:real; N,i: integer; begin Write('N: '); Readln(N); Writeln('A: '); for i:=1 to N do begin write(i,'.x :'); readln(a[i,1]); write(i,'.y :'); readln(a[i,2]); end; Rmin:=0; x:=0; y:=0; for i:=1 to N do if ((A[i,1]>0) and (A[i,2]>0)) or ((A[i,1]<0) and (A[i,2]<0))then begin R:=sqrt(sqr(A[i,1])+sqr(A[i,2])); if (R < Rmin) or (x+y=0) then begin Rmin:=R; x:=A[i,1]; y:=A[i,2]; end; end; Writeln (x,', ', y); end. |
Задачи из раздела Array можно посмотреть здесь.
Комментарии:
Комментарии 1