السلام عليكم
لدي متغيران ، كيف يتم تبديل قيم المتغيران بدون استخدام متغير ثالث ؟
مثال :
input x=5 and y=3 out x=3 and y=5
شكرا
السلام عليكم
لدي متغيران ، كيف يتم تبديل قيم المتغيران بدون استخدام متغير ثالث ؟
مثال :
input x=5 and y=3 out x=3 and y=5
شكرا
مستحيل !!
لابد من وجود متغير ثالث
عزيزي القضيه سهلة جدا تعتمد على العمليات الحسابيه
و هي كالتالي
x=x+y; y=x-y; x=x-y;
طريقة أخرى ..
x := x xor y; y := x xor y; x := x xor y;
وأيضاً طريقة ..
x=x*y; y=x/y; x=x/y;
توجد طرق تمكنك من التبديل بين متحولين دون استخدام ثالث باستخدام تعليمات assembler
انظر الرابط
تم تعديل هذه المشاركة بواسطة بسام بساطة في 17 نوفمبر 2006 في 14:46
شكرا ياشباب
بس ممكن اصعبها اكثر من ذلك
ان يكون المتغيران ليس ارقام ولكن اشياء اخري
قبل الاول كتب:بس ممكن اصعبها اكثر من ذلكان يكون المتغيران ليس ارقام ولكن اشياء اخري
لا أظن تستطيع حلها عندما تكون غير ارقام
لأنها تعتمد على أنك تخزن عددين في في عدد واحد مع وجود علاقة بينهم ;)
من الممكن حل السؤال اذا عرف...
اما سؤال مبهم و(متغير) فمن المستحيل حله...;)
يمكن ايضا استعمال تعليمة Xchg في لغة التجميع
Xchg Eax,Ebx
والسلام عليكم ورحمة الله
تم تعديل هذه المشاركة بواسطة dj-siba في 21 نوفمبر 2006 في 13:59
قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة
منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com
اقتباسمن الممكن حل السؤال اذا عرف...اما سؤال مبهم و(متغير) فمن المستحيل حله...
يعني اه ؟
يعني يا اخي الكريم حاول ان توضح السؤال...ماهو نوع البيانات التي تتعامل معها؟؟
ولماذا لا تريد استخدان متغير ثالث؟
:)
وضح
السلام عليكم
اقتباسماهو نوع البيانات التي تتعامل معها؟؟
ممكن تعتبره من النوع كائن (object) والسبب لاني اريد حل عام وليس خاص بنوع بيانات معين
اقتباسولماذا لا تريد استخدان متغير ثالث؟
احيانا لتوفير اكبر قدر من الذكرة ولا يهمنا اوي السرعة وان لم تقتنع يكفي التفكير
شكرا
هل مستحل اما ماذا ؟
تريد رأيي ؟ :)
انا مقتنع بأنه مستحيل في غير الأرقام ،
لذلك لايمكننا تعميمها لأي اوبجكت
شكرا على المعلومة و نتمنى المزيد
الســــــــــــــــــلام عليكـــــــــــــــــم
اقتباستريد رأيي ؟انا مقتنع بأنه مستحيل في غير الأرقام ،
لا ليست مستحيلة في الفجوال باسيك وكل اللغات التي بها (traitement de chaine)
a = "hicham" b = "manssouri" a = a & "" & b b = Left(a, (Len(a) - Len(b))) a = Right(a, (Len(a) - Len(b))) 'النتيجة' a = "manssouri" b = "hicham"
______________________________________________
" حَافِظُوا عَلَى الصَّلَوَاتِ وَالصَّلاةِ الْوُسْطَى وَقُومُوا لِلَّهِ قَانِتِينَ "
______________________________________________
تحرير بواسطة 'بنهاشم منصوري'
موضوع حلو وجميل
وأفكار جميلة
ولكن لماذا هذا العذاب !!؟
متغير ثالث لتوفير أكبر قدر من الذالكرة !!
طيب إعمل دالة تبدل بين متغيرين لأي نوع مثل دالة Quick Basic قديما
Swap
وريح بالك
اقتباسمثل دالة Quick Basic قديماSwap
هلا اوضحة لنا كيف نستعملها ولك جزيل الشكر
______________________________________________
" حَافِظُوا عَلَى الصَّلَوَاتِ وَالصَّلاةِ الْوُسْطَى وَقُومُوا لِلَّهِ قَانِتِينَ "
______________________________________________
تحرير بواسطة 'بنهاشم منصوري'
السلام عليكم و رحمة الله و بركاته .
إذا كان المتغيران X , Y من نوع نصي (String) فمن الممكن عمل التالي : (الكود مكتوب بلغة JavaScript) .
X="ABC"
Y="DEF"
X=X+"_"+Y
Y=X.substring(0,X.indexOf("_"))
X=X.substring(X.indexOf("_")+1)Python :
>>> a=3; b=4 >>> a, b= b, a >>> a 4 >>> b 3
تم تعديل هذه المشاركة بواسطة StrikerX في 21 يوليو 2007 في 02:43
أظن أن عملية xor قادرة على تبديل أي نوع من البيانات إذا كانت تجرى على الوحدة الأساسية bit
والله أعلم
طب ايه الحل لو كانت المتغيرات نصية ؟
X = "احمد" y = "محمد"
تفتكروا كده ممكن تتحل ؟
hicham716 كتب:هلا اوضحة لنا كيف نستعملها ولك جزيل الشكر
'هذا إجراء للتبديل بين قيمتين Public Sub Swap(Var1 As Variant, Var2 As Variant) Dim Var3 As Variant Var3 = Var1 Var1 = Var2 Var2 = Var3 End Sub 'وهذا إجراء لتجربة إجراء التبديل Sub Test() Dim A, B A = 3 B = 6 Swap A, B '-- Call Swap(A, B) MsgBox A & vbNewLine & B A = "Access" B = "Visual Basic" Swap A, B MsgBox A & vbNewLine & B A = DateSerial(2001, 1, 1) B = DateSerial(2007, 7, 7) Swap A, B MsgBox A & vbNewLine & B End Sub
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…