Найти пересечение множеств - 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.

Объяснение кода листинга программы

  1. Объявлены константы n=41 и m=20, а также тип массива mas=array[1..m] of integer.
  2. Определены процедуры mass и peres с соответствующими параметрами.
  3. Задано начальное значение для переменной q=1 и инициализирован первый элемент массива k[1] случайным числом из диапазона [1..n].
  4. В цикле for i:=2 to m выполняется генерация случайных чисел для каждого элемента массива k[i] с проверкой на уникальность (повторение элементов не допускается).
  5. Выполняется процедура peres для первых m элементов массива a и b, результатом которой является массив ab.
  6. Затем выполняется процедура peres для массива ab и c, результатом которой является массив abc.
  7. В цикле for i:=1 to q выводятся элементы массива abc.
  8. Завершается выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5