Найти множество продуктов, которые есть во всех магазинах - Turbo Pascal
Формулировка задачи:
Даны сведения о наличии продуктов с их названиями в магазинах. Найти:
а)множество продуктов, которые есть во всех магазинах;
б)множество продуктов, которых нет ни в одном магазине.
Решение задачи: «Найти множество продуктов, которые есть во всех магазинах»
textual
Листинг программы
res:=[hl..kl]; for i:=1 to nn do res:=res*m[i]; { во всех магазинах } WriteLn('Есть в каждом магазине:'); if res=[] then Write(' <нет>') else for j:=hl to kl do if j in res then Write(' ',sp[Ord(j)]); WriteLn; res:=[hl..kl]; for i:=1 to nn do res:=res-m[i]; { нет ни в одном } WriteLn('Нет ни в одном магазине:'); if res=[] then Write(' <нет>') else for j:=hl to kl do if j in res then Write(' ',sp[Ord(j)]); WriteLn;
Объяснение кода листинга программы
- Создаётся множество
res
, которое изначально содержит все продукты. - Затем для каждого магазина
m[i]
(идентифицируется числом от 1 доnn
) происходит следующее:- Множество
res
обновляется, добавляя в себя все продукты из текущего магазина. Это делается с помощью операции умножения (*
), так как предполагается, что каждый продукт представлен в виде числа (возможно, это код для работы с товарами в базе данных). - Если после обновления
res
осталось пустым, то выводится сообщениеНет ни в одном магазине
.
- Множество
- После обработки всех магазинов выводится сообщение
Есть во всех магазинах
, если множествоres
не пустое. - Если после обновления
res
осталось пустым, то выводится сообщениеНет ни в одном магазине
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д