Организации, закупали компьютеры в фирмах «Вега», «Владос», «Техно» «Сити», «Санрайз», «Стиль». Определить фирмы, в которых закупила компьютеры каждая организация, фирмы, в которых купила компьютеры хотя бы одна организация, фирмы, в которых ни одна организация не купила компьютеры.
Program mn_1;
Uses Crt;
Type
firma = set of 1 .. 6;
f1 = array [0 .. 20] of firma;
const
f: array [1 .. 6] of string[10] = ('Вега' ‚ 'Владос', 'Техно', 'Сити',
'Санрайз', 'Стиль');
Var
a: f1;
n, i, j, otv: byte;
per, ob: firma;
Begin
ClrScr;
Write('Количество организаций, закупавших компьютеры:');
readln(n);
For i := 1 to n do
begin
a[i] := [];
for j := 1 to 6 do
begin
Write(i, 'я организация закупала компьютеры в фирме: ', f[j],
' (1-да ,0-нет)');
readln(otv);
if otv = 1 then
a[i] := a[i] + [j];
end;
end;
Writeln;
per := [1 .. 6];
For i := 1 to n do
per := per * a[i];
Writeln('Фирмы, в которых купила компьютеры каждая организация');
For i := 1 to 6 do
if i in per then
Write(f[i]:10);
ob := [];
For i := 1 to n do
ob := ob + a[i];
Writeln;
Writeln('Фирмы, в которых купила компьютеры хотя бы одна организация');
For i := 1 to 6 do
if i in ob then
Write(f[i]:10);
Writeln;
Writeln('Фирмы, в которых не купила компьютеры ни одна организация');
For i := 1 to 6 do
if i in [1 .. 6] - ob then
Write(f[i]:10);
readln;
end.