Из трех множеств нужно сформировать новое множество с условием - PascalABC.NET
Формулировка задачи:
Добрый вечер. Не могли бы вы помочь с задачей?
Даны три множества x1, x2, x3, содержащие целые числа из диапазонов 1..100. Известно, что мощность каждого из этих множеств равна 10. Сформировать новое множество y=(х1*х2)-(х2*х3), из которого выделить подмножество делящихся на 3 без остатка. На экран вывести исходные и полученные множества. Значения элементов исходных множеств ввести с клавы.
Все, что я смог набрать сам (наверное, даже самый простой человек смог бы повторить меня):
Решение задачи: «Из трех множеств нужно сформировать новое множество с условием»
textual
Листинг программы
const
n=10;
var
x1,x2,x3,y,z:set of 1..100;
A,b,c,i: 1..100;
Begin
X1:=[];
X2:=[];
X3:=[];
y:=[];
z:=[];
Writeln ('a,b,c');
For i:=1 to n do
Begin
Readln (a,b,c);
include(x1,a);
include(x2,b);
include(x3,c);
End;
Writeln;
Y:=(x1*x2)-(x2*x1);
for i:=low(y) to high(y) do
if (i mod 3 = 0) and (i in y) then
include(z,i);
Writeln (' X1 X2 X3 ');
For i:=1 to 100 do
begin
if i in x1 then
write(i:5);
if i in x2 then
write(i:5);
if i in x3 then
writeln(i:5);
end;
Writeln ('Y:');
For i:=1 to 100 do
if i in Y then
write(i:5);
writeln;
Writeln ('Z:');
For i:=1 to 100 do
if i in z then
write(i:5);
writeln;
readln;
end.
Объяснение кода листинга программы
Список действий в коде:
- Объявление переменных:
- n устанавливается в 10, что указывает на количество наборов данных, которые будут введены.
- x1, x2, x3, y, z устанавливаются как множества из 1 до 100.
- A, b, c, i устанавливаются как множества из 1 до 100.
- X1, X2, X3 устанавливаются как пустые множества.
- Y устанавливается как (x1x2)-(x2x1).
- Z устанавливается как пустое множество.
- Ввод данных:
- Пользователю предлагается ввести три числа для каждого набора данных.
- Используется цикл for для обработки каждого набора данных.
- Для каждого набора данных считываются три числа.
- Числа включаются в соответствующие множества (x1, x2, x3).
- Обработка данных:
- Вычисляется Y как (x1x2)-(x2x1).
- Используется цикл for для обработки каждого элемента в Y.
- Если остаток от деления элемента на 3 равен 0 и элемент принадлежит множеству y, то элемент включается в z.
- Вывод данных:
- Выводится информация о каждом множестве:
- Используется цикл for для обработки каждого числа от 1 до 100.
- Если число принадлежит множеству x1, то оно выводится в формате
x1:5. - Если число принадлежит множеству x2, то оно выводится в формате
x2:5. - Если число принадлежит множеству x3, то оно выводится в формате
x3:5. - Выводится информация о Y:
- Используется цикл for для обработки каждого числа от 1 до 100.
- Если число принадлежит множеству Y, то оно выводится в формате
Y:5. - Выводится информация о Z:
- Используется цикл for для обработки каждого числа от 1 до 100.
- Если число принадлежит множеству Z, то оно выводится в формате
Z:5.
- Ввод данных для завершения работы программы.