Сформировать множества А и В по заданному числу элементов для каждого множества - Pascal
Формулировка задачи:
2)Сформировать множества А и В, базовый тип которых -70..30, по заданному числу элементов для каждого множества. Найти наибольший элемент, принадлежащий одновременно А и В, затем количество элементов, входящих в А и не входящих в В.
Спасибо!
Решение задачи: «Сформировать множества А и В по заданному числу элементов для каждого множества»
textual
Листинг программы
var
i,j,k,n,f,m,max:integer;
s1,s2,s3: set of -70..30;
begin
randomize;
writeln('Введите количество элементов множества A');
readln(k);
writeln('Введите количество элементов множества B');
readln(n);
s1:=[]; s2:=[]; s3:=[];
i:=0; j:=0;
repeat
f:=30-random(100);
m:=30-random(100);
if not(f in s1) and (i<k) then
begin
s1:=s1+[f];
inc(i);
end;
if not(m in s2) and (j<n) then
begin
s2:=s2+[m];
inc(j);
end;
until (i=k) and (j=n);
writeln('А = ', s1);
writeln('В = ', s2);
max:=-99;
for i:=-70 to 30 do
if (i in s1) and (i in s2) and (max<i) then max:=i;
if max<>-99 then writeln('Наибольший элемент, принадлежащий одновременно А и В = ', max)
else writeln('Элемент, принадлежащий одновременно А и В не найден');
j:=0;
s3:=s1-s2;
for i:=-70 to 30 do
if (i in s3) then inc(j);
writeln('Количество элементов, входящих в А и не входящих в В = ', j);
readln;
end.
Объяснение кода листинга программы
- Объявление переменных:
i, j, k, n, f, m, max- целочисленные переменныеs1, s2, s3- множества целых чисел от -70 до 30
- Инициализация переменных:
s1,s2иs3устанавливаются в пустые множества (пустой список элементов)iиjустанавливаются в 0
- Чтение ввода:
- Пользователь вводит количество элементов для множества A и B (обозначаемых как
kиnсоответственно)
- Пользователь вводит количество элементов для множества A и B (обозначаемых как
- Заполнение множеств:
- Генерируются случайные числа
fиmв диапазоне от -70 до 30 - Пока количество элементов в множестве A меньше заданного и
fне принадлежит множеству A, добавляемfк множеству A - Пока количество элементов в множестве B меньше заданного и
mне принадлежит множеству B, добавляемmк множеству B
- Генерируются случайные числа
- Вывод множеств:
- Выводится содержимое множеств A и B
- Поиск максимального общего элемента:
- Поиск элемента, который принадлежит и множеству A и множеству B, и является максимальным
- Если такой элемент найден, он выводится на экран
- Подсчет количества элементов, входящих в A и не входящих в B:
- Подсчет элементов, которые входят в множество A, но не входят в множество B
- Количество таких элементов выводится на экран
- Ожидание ввода пользователя перед завершением программы.