Вывести на экран четные элементы числового множества, которое является пересечением двух других множеств. - PascalABC.NET
Формулировка задачи:
Нужна помощь!!!
Вывести на экран четные элементы числового множества, которое является пересечением двух других множеств. Заранее спасибо)
Решение задачи: «Вывести на экран четные элементы числового множества, которое является пересечением двух других множеств.»
textual
Листинг программы
uses crt;
type mnoz=set of byte;
var a,b,c:mnoz;
n,i:byte;
begin
clrscr;
writeln('Создайте множество A из чисел от 0 до 255, окончание ввода 0:');
a:=[];
repeat
repeat
readln(n);
until n in [0..255];
a:=a+[n];
until n=0;
writeln('Создайте множество B из чисел от 0 до 255, окончание ввода 0:');
b:=[];
repeat
repeat
readln(n);
until n in [0..255];
b:=b+[n];
until n=0;
clrscr;
writeln('Множество А:');
for i:=0 to 255 do
if i in a then write(i,' ');
writeln;
writeln;
writeln('Множество B:');
for i:=0 to 255 do
if i in b then write(i,' ');
c:=a*b;
writeln;
writeln('Множество C:');
for i:=0 to 255 do
if i in c then write(i,' ');
writeln;
writeln('Множество C, удовлетворяющее условию:');
for i:=0 to 255 do
if (i in c) and (i mod 2=0) then write(i,' ');
readln;
end.
Объяснение кода листинга программы
- Объявляются три множества: a, b и c типа mnoz (set of byte), а также две переменные n и i типа byte.
- Ввод данных для формирования множеств a и b с помощью цикла repeat-readln(n).
- Формирование множеств a и b путем добавления каждого введенного числа n в соответствующее множество.
- Вывод на экран содержимого множества a с помощью цикла for и условия if i in a.
- Вывод на экран содержимого множества b с помощью цикла for и условия if i in b.
- Вычисление пересечения множеств a и b путем умножения их (c := a * b).
- Вывод на экран содержимого пересечения множеств a и b (множество c) с помощью цикла for и условия if i in c.
- Вывод на экран только четных чисел из множества c с помощью цикла for и условий if (i in c) and (i mod 2 = 0).