В общем, у меня получилось вот так, полностью, может кому пригодится, тут с рандомным заполнением и с четким числом элементов, заданным пользователем (спасибо Clientу, можно менять местами с одинаковыми значениями):
Код
Uses crt;
var A,B: set of Char; nA,nB,k,r:integer;
Begin
Repeat
Write ('Vvedite kolichestvo simvolov vo mnogestve A, ne bolshe 255:');
Readln (nA);
Until nA < 255;
Repeat
Write ('Vvedite kolichestvo simvolov vo mnogestve B, ne bolshe 255:');
Readln (nB);
Until nB < 255;
Randomize;
Write('A: ');
For k:=1 to nA do
begin
r:= 32+random(224);
If (chr(r) in A) then
nA:=nA+1
Else
begin
Include(A,chr(r));
Write(chr(r));
end;
end;
Writeln;
Write('B: ');
For k:=1 to nB do
begin
r:= 32+random(224);
If (chr(r) in B) then
nB:=nB+1
Else
begin
Include(B,chr(r));
Write(chr(r));
end;
end;
A:=A+B-A*B;
B:=B-A+(A-B);
A:=A-B+(B-A);
Writeln;
Writeln ('Posle zameni:');
Write('A: ');
For r:=33 to 255 do
If (chr(r) in A) then Write(chr(r));
Writeln;
Write('B: ');
For r:=33 to 255 do
If (chr(r) in B) then Write(chr(r));
End.