program qqq;
uses crt;
const n=10;
type tarr=array[1..n]of 1..10;
tset=set of 1..10;
var p,s,v:tarr;
m,mp,ms,mv:tSet;
i:1..5;
procedure input (var x:tarr);
var i:byte;
begin
for i:=1 to n do x[i]:=1+random(10);
end;
procedure print(x:tarr);
var i:byte;
begin
for i:=1 to n do write(x[i]:3);
writeln;
end;
procedure setofmark (x:tarr;var m:tset);
var i:byte;
begin
m:=[];
for i:=1 to n do m:=m+[x[i]];
end;
procedure print_set(m:Tset);
var i:1..10;
begin
for i:=1 to 10 do
if i in m then write(i:3);
writeln;
end;
begin
clrscr;
randomize;
writeln('Оценки Петрова:');
input(p);print(p);
writeln('Оценки Васечкина:');
input(v);print(v);
writeln('Оценки Сидорова:');
input(s);print(s);
Writeln('Множество оценок Петрова:');
setOfmark(p,mp);print_set(mp);
Writeln('Множество оценок Васечкина:');
setOfmark(v,mv);print_set(mv);
Writeln('Множество оценок Сидорова:');
setOfmark(s,ms);print_set(ms);
m:=mp+mv+ms;
writeln('Имеющиеся у учеников оценки:');
Print_set(m);
m:=[1..5]-(mp+mv+ms);
writeln('Результат:');
Print_set(m);
readln;
end.