Program xcvb;
Const n=5;
Type TArr=Array[1..n]Of 1..5;
TSet=Set Of 1..5;
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(5);
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..5;
Begin For i:=5 DownTo 1 Do If i In m Then Write(i:3);
WriteLn;
End;
Begin 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);
m := mp*mv-ms;
Print_Set(ms) ;
WriteLn('Результат : ');
Print_Set(m);
ReadLn;
End.