1) Объединение A и C - все элементы, которые входят хотя бы в одно из множеств A, C. Но так как A - подмножество C (полностью входит в C), то объединение - это просто C: {1, 3, 4, 5, 7, 9}.
2) Пересечение A и C - все элементы, которые входят одновременно в оба множества A и C. В данном случае пересечение - это просто A: {1, 5, 9}.
3) Дополнение A до C - все элементы, которые лежат в C, но не в A: {3, 4, 7}.
4) Дополнение пересечения B и C до B: сюда должны входить все элементы, принадлежащие B, но не принадлежащие пересечению. Можно сообразить, что это превратится просто во все элементы B, не принадлежащие C: {2, 6}
var a: array[1..2 * n] of real; x, y, l,lmax, lmin: real; i, j, k: integer;
begin writeln('Введите количество точек (не более ', n, ')'); readln(k); writeln('Вводите координаты точек (x,y) попарно'); lmax := 0; lmin := 1e10; for i := 1 to k do begin j := 2 * i - 1; read(a[j], a[j + 1]); l := sqr(a[j]) + sqr(a[j + 1]); //квадратами расстояния до точки if lmax<l then lmax:=l; if lmin>l then lmin:=l end; writeln; writeln('Все точки находятся внутри кольца с радиусами ',sqrt(lmin),', ',sqrt(lmax)) end.
Тестовое решение:
Введите количество точек (не более 10) 5 Вводите координаты точек (x,y) попарно 3 6 2 5 -4 -3 5 7 3 3
Все точки находятся внутри кольца с радиусами 4.24264068711928, 8.60232526704263
{1, 3, 4, 5, 7, 9}, {1, 5, 9}, {3, 4, 7}, {2, 6}
Объяснение:
1) Объединение A и C - все элементы, которые входят хотя бы в одно из множеств A, C. Но так как A - подмножество C (полностью входит в C), то объединение - это просто C: {1, 3, 4, 5, 7, 9}.
2) Пересечение A и C - все элементы, которые входят одновременно в оба множества A и C. В данном случае пересечение - это просто A: {1, 5, 9}.
3) Дополнение A до C - все элементы, которые лежат в C, но не в A: {3, 4, 7}.
4) Дополнение пересечения B и C до B: сюда должны входить все элементы, принадлежащие B, но не принадлежащие пересечению. Можно сообразить, что это превратится просто во все элементы B, не принадлежащие C: {2, 6}
n = 10;//предельное количество точек
var
a: array[1..2 * n] of real;
x, y, l,lmax, lmin: real;
i, j, k: integer;
begin
writeln('Введите количество точек (не более ', n, ')');
readln(k);
writeln('Вводите координаты точек (x,y) попарно');
lmax := 0;
lmin := 1e10;
for i := 1 to k do
begin
j := 2 * i - 1;
read(a[j], a[j + 1]);
l := sqr(a[j]) + sqr(a[j + 1]); //квадратами расстояния до точки
if lmax<l then lmax:=l;
if lmin>l then lmin:=l
end;
writeln;
writeln('Все точки находятся внутри кольца с радиусами ',sqrt(lmin),', ',sqrt(lmax))
end.
Тестовое решение:
Введите количество точек (не более 10)
5
Вводите координаты точек (x,y) попарно
3 6 2 5 -4 -3 5 7 3 3
Все точки находятся внутри кольца с радиусами 4.24264068711928, 8.60232526704263