الشبكة العربية لمطوري الألعاب

مبتدئ  عبد الرحمن اللحام مشاركة 11

السلام عليكم...  هذه أول مشاركة لي...أود أن أطرح لغزا بسيطا اخر...كيف يمكن تبديل قيمتي متغيرين بدون استخدام متغير وسيط؟أقصد أن الطريقة التقليدية هي:
// var1 = 5, var2 = 10
int tmp = var1;
var1 = var2;
var2 = tmp;


//var1 = 10, var2 = 5

نلاحظ أن هذه الطريقة تستخدم المتحول tmp. كيف يمكن تنفيذ ذلك بدون استخدام متحول إضافي؟!!

مبتدئ  عبد الرحمن اللحام مشاركة 12

حسنا...الحل هو تالي:
// x = 1, y = 2
x = XOR(x,y);
y = XOR(x,y);
x = XOR(x,y);


// x = 2, y = 1


شي متل السحر!!!!☺ ☺ ☺

خبير  سعيد بسيوني مشاركة 13

في 27/شوال/1430 09:58 ص، غمغم عبد الرحمن اللحام باستغراب قائلاً:

حسنا...الحل هو تالي:
// x = 1, y = 2
x = XOR(x,y);
y = XOR(x,y);
x = XOR(x,y);


// x = 2, y = 1


شي متل السحر!!!!☺ ☺ ☺

انا كنت عارف الجواب . بس بختبرك  😏  😏   (كلام هزار)