تبليغاتX
کهنه حصیر - راه حل ساده!

فرض کنید میخوایم یه برنامه بنویسیم که یه عدد رو بگیره رقم هاشو برعکس کنه (یعنی مثلا 1234 رو بگیره 4321 بده). من یکی نوشتم. کوتاه تر یا ساده تر اگه بلدید بگید. احساس میکنم 2 تا حلقه زیاده. شاید بشه با یه حلقه هم نوشت.

اگه حالشو دارید روش فکر کنید.

(در VB دستور Mod باقیمانده صحیح رو میده و \ خارج قسمت صحیح رو)

i = 1

Dim m(100) As Double

txt1.text = n1                                         ‘Read n1

Do While n1 > 9

    m(i) = n1 Mod 10

    n1 = n1 \ 10

    i = i + 1

Loop                                                     ‘seprate numbers

For j = 1 To (i - 1)

    n1 = n1 + m(j) * 10 ^ (i - j)

Next j                                                    ‘link numbers

txt2.text = n1                                         ‘write n1                                                           

End                                          

 

جالب اینجاست که اگه بخوایم راه ریاضیشو نادیده بگیریم، با یه دستور ساده تو VB میشه قضیه رو حل کرد:

a = StrReverse(b)

 به همین سادگی! کدوم راهو بیشتر می پسندین؟

 

 

  نوشته شده در  جمعه دهم اسفند 1386ساعت 15:2  توسط سعید  | 
 
  POWERED BY BLOGFA.COM