Найти пересечение множеств - Pascal ABC
Формулировка задачи:
Пусть сгенерированные на ЭВМ множества А, В, С состоят из элементов: А = {1, 3, 4, 5, 10}, B = {3, 5, 7, 8, 9}, C = {3, 5, 6 , 9, 10}.
Тогда результат выполнения операции пересечения этих множеств имеет вид:
D = A B C = {3, 5}
написать код
Вот часть кода есть
Считать универсальной множеством Х все натуральные числа от 0 до 40. Расчеты выполнить используя ЭВМ.
Решение задачи: «Найти пересечение множеств»
textual
Листинг программы
const n=41; m=20; type mas=array[1..m] of integer; procedure mass(var k:mas;c:char); var q,i,j,h:integer; f:boolean; begin writeln('Множество ',c); q:=1; k[1]:=random(n); write(k[1]:4); for i:=2 to m do begin repeat f:=false; h:=random(n); for j:=1 to q do if k[j]=h then f:=true; until f=false; k[i]:=h; q:=q+1; write(k[i]:4) end; writeln end; procedure peres(a,b:mas;k,p:integer;var c:mas;var q:integer); var i,j,x:integer; begin q:=0; for i:=1 to k do begin x:=a[i]; for j:=1 to p do if b[j]=x then begin q:=q+1; c[q]:=x end; end; end; var a,b,c,ab,abc:mas; p,q,i:integer; begin randomize; mass(a,'A'); mass(b,'B'); mass(c,'C'); peres(a,b,m,m,ab,p); peres(ab,c,p,m,abc,q); writeln('Пересечение множеств:'); for i:=1 to q do write(abc[i]:4) end.
Объяснение кода листинга программы
- Объявлены константы n=41 и m=20, а также тип массива mas=array[1..m] of integer.
- Определены процедуры mass и peres с соответствующими параметрами.
- Задано начальное значение для переменной q=1 и инициализирован первый элемент массива k[1] случайным числом из диапазона [1..n].
- В цикле for i:=2 to m выполняется генерация случайных чисел для каждого элемента массива k[i] с проверкой на уникальность (повторение элементов не допускается).
- Выполняется процедура peres для первых m элементов массива a и b, результатом которой является массив ab.
- Затем выполняется процедура peres для массива ab и c, результатом которой является массив abc.
- В цикле for i:=1 to q выводятся элементы массива abc.
- Завершается выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д