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.