Помогите пожалуйста: как определить какие цветы выращивает только один садовник?
Вот программа:
.
program mn1;
uses crt;
type sorta = (ange,vict,gaga,ybil,avem,kata);{сорта роз}
sortaSet = set of sorta;
const sortastr: array [ange..kata] of string[9] =
(' Анжел ',' Виктор ','Гагарин ',' Юбил ',' Ave ',' Катар ');
var s: array [1..4] of sortaset; {сорта выращиваемые цветоводами}
w,q,m1,m2,m3: sortaset; {результирующие множества}
i,j:byte;
procedure InSet ( var s:sortaset);
var sort: Sorta; {сорт розы}
begin
s:=[]; {вначале множество пусто}
for sort:= ange to kata do
if random(2)>0 then s:=s+[sort]
end;
procedure outset (s:sortaset);
var sort: sorta;
begin
for sort:=ange to kata do
if (sort in s) then
write(SortaStr[sort],'');
writeln;
end;
begin
clrscr;
randomize;
writeln;
InSet(S[1]);
InSet(S[2]);
InSet(S[3]);
InSet(s[4]);
write(' Есть у первого :');
OutSet(S[1]);
writeln;
write('Есть у второго');
OutSet(S[2]);
writeln;
write('Есть у третьего');
OutSet(S[3]);
writeln;
write('Есть у четвертого');
OutSet(S[4]);
writeln;
m1:=s[1]*s[2]*s[3]*s[4]; {Есть у каждого цветовода}
{Есть хотя бы у двух}
for i:=1 to 4 do
for j:=i+1 to 4 do begin
m2:=s[i]*s[j];
if m2=m2*q then m2:=[];
q:=q+m2;
end;
{Есть только у одного}
write('Есть у каждого');
outset(m1);
writeln;
write('Есть хотя бы у двух');
outset(q);
writeln;
write('Есть только у одного');
outset(w);
readln;
end.