Из трех множеств нужно сформировать новое множество с условием - PascalABC.NET
Формулировка задачи:
Добрый вечер. Не могли бы вы помочь с задачей?
Даны три множества x1, x2, x3, содержащие целые числа из диапазонов 1..100. Известно, что мощность каждого из этих множеств равна 10. Сформировать новое множество y=(х1*х2)-(х2*х3), из которого выделить подмножество делящихся на 3 без остатка. На экран вывести исходные и полученные множества. Значения элементов исходных множеств ввести с клавы.
Все, что я смог набрать сам (наверное, даже самый простой человек смог бы повторить меня):
Листинг программы
- var
- x1,x2,x3,y,z:set of 1..100;
- A,b,c,i: integer;
- Begin
- X1:=[];
- X2:=[];
- X3:=[];
- Writeln ('a,b,c');
- For i:=1 to 10 do
- Begin
- Readln (a,b,c);
- X1:=x1+[a];
- X2:=x2+[b];
- X3:=x3+[c];
- End;
- Writeln;
- Y:=(x1*x2)-(x2*x1)
Решение задачи: «Из трех множеств нужно сформировать новое множество с условием»
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
.
- Ввод данных для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д