Известны марки машин, изготовляемых в данной стране и импортируемых за рубеж. Даны некоторые N стран. Определить для каждой из марок, какие из них были:
• доставлены во все страны;
• доставлены в некоторые из стран;
• доставлены в некоторую страну
const n = 3;
type
product = (BMW,Audi,Fiat,Mersedes);
assort = set of product;
magazine = array[1 .. n] of assort;
const
s: array[product] of string = (
'BMW', 'Audi', 'Fiat', 'Marsedes'
);
stores: magazine = (
[BMW,Audi],
[BMW,Fiat],
[Audi]
);
procedure exists(arr: magazine; var a, b, c: assort);
var
i: integer; j: product;
begin
a := arr[1];
b := [];
for j := low(product) to high(product) do
c := c + [j];
for i := 1 to n do begin
a := a * arr[i];
b := b + arr[i];
c := c - arr[i];
end;
end;
procedure write_set(x: assort);
var j: product;
begin
for j := low(product) to high(product) do
if j in x then write(s[j], ' ');
writeln
end;
var
a, b, c: assort;
begin
exists(stores, a, b, c);
write('A = '); write_set( a );
write('B = '); write_set( b );
write('C = '); write_set( c );
readln;
end.
write('A = '); write_set( a );
write('B = '); write_set( b );
write('C = '); write_set( c );
if a <> [] then begin { <--- Вот так проверяешь, пустое ли множество }
write('A = '); write_set( a );
end
else writeln('автомобилей (доставленных во все страны) нет'); { <--- Ну, и пишешь каждый раз то что нужно }
if a <> [] then begin { <--- Вот так проверяешь, пустое ли множество }
write('A = '); write_set( a );
end
else writeln('автомобилей (доставленных во все страны) нет'); { <--- Ну, и пишешь каждый раз то что нужно }