۱۲-مهر-۱۳۸۶, ۰۹:۰۵:۱۵
۱۲-مهر-۱۳۸۶, ۱۰:۰۸:۳۳
منظورت از تغییر دادن چی هست؟!
اگر منظورت این هست که دادههای هر دو متغییر جاشون با هم عوض بشه خوب:
حالا بستگی داره که متغییرهات از چه نوعی هستند.
در خوشبینانهترین حالت فرض می کنم هر دو شون String باشند که در این صورت کار خیلی راحته. کافیه یک بار داده ها رو به هم متصل کنی و بعد از هم جداشون کنید:
اما اگر متغییرها رشته نبودند مثلا عدد بودند از این خاصیت استفاده می کنیم که اگر حاصل ضرب دو عدد و یکی از اعداد رو داشته باشیم می شه عدد دوم رو هم به دست آورد, یعنی فقط یک تقسیم معمولی لازمه:
اما در حالات سخت تر ممکنه دو تا متغییر از انواع مشکل تری باشند مثلا هر دوشون تصویر باشند که در این صورت هم میشه این مسئله رو به وسیله API و با کمک فرمان CopyMemory حل کرد.
اگر منظورت این هست که دادههای هر دو متغییر جاشون با هم عوض بشه خوب:
حالا بستگی داره که متغییرهات از چه نوعی هستند.
در خوشبینانهترین حالت فرض می کنم هر دو شون String باشند که در این صورت کار خیلی راحته. کافیه یک بار داده ها رو به هم متصل کنی و بعد از هم جداشون کنید:
کد:
Dim X1 As String
Dim X2 As String
X1 = "fx1"
X2 = "fx2"
MsgBox X1 & vbCrLf & X2
'''''''''''''''''''
X1 = X1 & Chr$(0) & X2
X2 = Split(X1, Chr$(0))(0)
X1 = Split(X1, Chr$(0))(1)
'''''''''''''''''''
MsgBox X1 & vbCrLf & X2
اما اگر متغییرها رشته نبودند مثلا عدد بودند از این خاصیت استفاده می کنیم که اگر حاصل ضرب دو عدد و یکی از اعداد رو داشته باشیم می شه عدد دوم رو هم به دست آورد, یعنی فقط یک تقسیم معمولی لازمه:
کد:
Dim X1 As Long
Dim X2 As Long
X1 = 1111
X2 = 2222
MsgBox X1 & vbCrLf & X2
'''''''''''''''''''
X1 = X1 * X2
X2 = X1 / X2
X1 = X1 / X2
'''''''''''''''''''
MsgBox X1 & vbCrLf & X2
اما در حالات سخت تر ممکنه دو تا متغییر از انواع مشکل تری باشند مثلا هر دوشون تصویر باشند که در این صورت هم میشه این مسئله رو به وسیله API و با کمک فرمان CopyMemory حل کرد.
۱۲-مهر-۱۳۸۶, ۱۳:۳۵:۰۵
یادمه تو دبیرستان و محیط Qbasic دستور Swap رو داشتیم به این صورت :
با دستور بالا مقدار دو متغیر با هم عوض می شه. حالا اگه دنبال الگریتمی هستید که این کار رو انجام بده شاید روش های آقا جواد بهترین باشه....
کد:
a=10
b=20
swap a,b
۱۳-مهر-۱۳۸۶, ۰۹:۳۹:۴۷
از لطف شما ممنونم دوستان - پاسخ خیلی کاملی دریافت کردم
۱۳-مهر-۱۳۸۶, ۱۴:۳۱:۵۴
برای دو متغیر عددی خیلی ساده میشه از جمع و تفریق استفاده کرد . مثلا اگر دو متغیر به نام a و b داشته باشیم راحت میتونیم بنویسیم :
کد:
a = a + b
b = a - b
a = a - b
۰۵-اردیبهشت-۱۳۹۵, ۲۱:۴۰:۴۱
سلام
چطوری میتونم بدون استفاده از متغیر کمکی محتویات دو متغیر عددی رو جابه جا کنم؟
مثلا:مقادیر 15 و 25 به ترتیب در متغیر های P1 , P2
حالا میخوام با دستور DW اونها رو جابه جا کنم؟؟
چطوری میتونم بدون استفاده از متغیر کمکی محتویات دو متغیر عددی رو جابه جا کنم؟
مثلا:مقادیر 15 و 25 به ترتیب در متغیر های P1 , P2
حالا میخوام با دستور DW اونها رو جابه جا کنم؟؟