Putnick писал(а):kipar писал(а):Нее, это дополнительная переменная, их нельзя использовать!
Тогда я её... Отрэжу!
- Код: Выделить всё
- type
 TMySet=set of byte;
 var
 c, d:TMySet;
 begin
 Writeln('Task #2');
 c:=[1..3];
 d:=[3..5];
 c:=c+d-c*d;
 d:=(d-c)+(c-d);
 c:=(c-d)+(d-c);
 end.
 
и скажу: "Мамой кланус! Они паминялись!!!" 
 
 Если верить анекдотам, доказательство КРАЙНЕ убедительное.
 
Чтобы не клясться, достаточно добавить вывод. 
И протестовать решение.
Оно правильное.
Но есть ещё более красивое.
Присваивать нужно одно и тоже выражение. Кстати, с теории множеств это действие называется 
симметрическая разность.
- Код: Выделить всё
- type
 TMySet=set of byte;
 var
 c, d:TMySet;
 i : byte;
 begin
 Writeln('Task #2');
 c:=[1..5];
 d:=[3..9];
 
 writeln('C:');
 for i:=1 to 255 do if i in c then write(i,' ');
 writeln;
 writeln('D:');
 for i:=1 to 255 do if i in d then write(i,' ');
 writeln;
 
 c:=c+d-c*d;
 d:=c+d-c*d;
 c:=c+d-c*d;
 
 writeln('C:');
 for i:=1 to 255 do if i in c then write(i,' ');
 writeln;
 writeln('D:');
 for i:=1 to 255 do if i in d then write(i,' ');
 writeln;
 end.