Определить фирмы, в которых закупила компьютеры каждая организация

Организации, закупали компьютеры в фирмах «Вега», «Владос», «Техно» «Сити», «Санрайз», «Стиль». Определить фирмы, в которых закупила компьютеры каждая организация, фирмы, в которых купила компьютеры хотя бы одна организация, фирмы, в которых ни одна организация не купила компьютеры.

code: #pascal
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.
Поделиться:

Похожие статьи: