# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > VB.NET >  گرفتن رقم عدد و برعکس کردن

## arman 2012

سلام
من یک کد میخوام که یک عدد هر چند رقمی رو بگیره و بعد برعکس بنویسه مثل این
123=321
ممنون میشم سورس هارو بهم بدید

----------


## r. salehi

دوست عزیز این یک الگوریتم مربوط به دوران دبیرستانه. بنده را ببخشید اما برای اینکه برنامه نویسی را یاد بگیرید لازمه که روی مسایل اینچنینی خودتون کمی فکر کنید و راه حلش را پیدا کنید. در غیر این صورت در برنامه نویسی پیشرفتی نخواهید کرد.
موفق باشید

----------


## Fery666

دوست عزیز به قول دوست عزیزمون *r. salehi* این دیگه چیزی نیست که بابت تاپیک بزنید . 

فقط می تونم بگم که با استفاده از حلقه for و mid می تونی این کار رو انجام بدی .

----------


## godofphp

یه راهنمایی میکنم 
وقتی ما یه عدد رو تقسیم بر 10 بکنیم باقیماندش میشه آخرین رقم اون عدد 
123 تقسیم کنیم به 10 باقیماندش میشه 3
قدم بعدی میایی عددت رو بر 10 تقسیم میکنی و جایگزین خود اون عدد میکنی 
123 تقسیم بر 10 میشه 12 
حالا باقیمانده 12 بر 10 میشه 2
12 تقسیم بر 10 میشه 2
باقیمانده 2 بر 10 میشه 2

همینجوری تو حلقه میذاری 
ودقت کنی مثل یه حلقه باقیمانده ها رو از اول جمع کنی میشه 321 

بچه ها کلاس تمومه برید خونه هاتون 
یاد دوران بچگیم افتادم  :قهقهه:

----------


## arman 2012

من با اعدادی که رقم دومشون زیر 5 هستند مثلا 12 مشکلی ندا رم و بهم جواب رو برمیگردونه 21 ولی وقتی میزنم 19 بهم ارور میده
مثلا این کد رو برای گرفتن دو رقم عدد نوشتم که مثلا اگر 19 رو بدیم باید بنویسه 1 و9 توی لیبل ها

Dim a, z, x As integer
        a = TextBox1.Text
        z = a / 10
        x = a - (z * 10)
        Label1.Text = z
        Label2.Text = x
        Label3.Text = a

اما جواب نمیده وقتی 19 رو میزنم

----------


## godofphp

اینجوری نباید بنویسی 
من یه نمونه کد تست نشده سریع مینویسم سعی کنید دیگه خودتون بنویسید

Dim snum az string
Dim t az integer
snum = textbox1.text
Dim inum As Integer = Convert.ToInt32(snum)
while(snum!=0)
{
 t=inum%10;
 inum/=10;
 label1.text+ = t.tostring();
}

بازم میگم  من ویزوال استدیو ندارم تست کنم ولی الگوریتم همینه 
شاید تو کدها یکم خطا باشه
خودت رفعش کن

----------


## arman 2012

ممنون ولی اینا کد های C هست
میشه vb بزارید؟؟؟
ممنون میشم

----------


## godofphp

> ممنون ولی اینا کد های C هست
> میشه vb بزارید؟؟؟
> ممنون میشم


جالب بود !!! 
کی گفته اینا کدهای c هست ؟؟؟؟
لطفا یکم بیشتر مطالعه کنید.
با چه حسابی میگید c هست ؟؟

----------


## godofphp

> جالب بود !!! 
> کی گفته اینا کدهای c هست ؟؟؟؟
> لطفا یکم بیشتر مطالعه کنید.
> با چه حسابی میگید c هست ؟؟


 فقط while با سی شارپ نوشتم 
اونم اینجوری تغییر بده
While snum!=0
 
End While

----------


## godofphp

Dim snum az string
Dim t az integer
snum = textbox1.text
Dim inum As Integer = Convert.ToInt32(snum)
while snum!=0 

 t=inum%10
 inum/=10
 label1.text+ = t.tostring()
 
End While

----------


## arman 2012

پس اون سیمیکالومن ها چی بودن؟؟؟(;)
:دی

----------


## godofphp

> پس اون سیمیکالومن ها چی بودن؟؟؟(;)
> :دی


عزیزم گفتم که محیط ویژوال استدیو ندارم تست کنم 
خود شما هم هر روز صدتا کد vb و سی شارپ  و سی و دلفی و پی اچ پی بنویسی مثل من قاط میزنی 
سیمی کلن ها رو هم بردار همه جا
بازم سوالی داشتی در خدمتیم
موفق باشی

----------


## Sub Zero

دوستان راه حلهای ریاضی ارائه کردند . اینم راه حل رشته ایش :
Function Reverse(ByVal value As String) As String
        ' Convert to char array.
        Dim arr() As Char = value.ToCharArray()
        ' Use Array.Reverse function.
        Array.Reverse(arr)
        ' Construct new string.
        Return New String(arr)
    End Function

منبع : لینک 




> برای اینکه برنامه نویسی را یاد بگیرید لازمه که روی مسایل اینچنینی خودتون کمی فکر کنید و راه حلش را پیدا کنید. در غیر این صورت در برنامه نویسی پیشرفتی نخواهید کرد.


با این صحبت شما کاملا موافقم .

----------


## Fery666

اینم کد: 

ولی این برنامه های دیگه خیلی پیش پا افتاده هستش :


   Me.Text = ""
        For i = Len(TextBox1.Text) To 1 Step -1
            Me.Text = Me.Text & Microsoft.VisualBasic.Mid(TextBox1.Text, i, 1)
        Next

----------


## arman 2012

ولی من یک چیزی فهمیدم که هیچ کدوم از دوستان اشاره نکردن
کافی بود به جای "/" 
اینو میزاشتم: "\"
لوا

----------


## arman 2012

> دوستان راه حلهای ریاضی ارائه کردند . اینم راه حل رشته ایش :
> Function Reverse(ByVal value As String) As String
>         ' Convert to char array.
>         Dim arr() As Char = value.ToCharArray()
>         ' Use Array.Reverse function.
>         Array.Reverse(arr)
>         ' Construct new string.
>         Return New String(arr)
>     End Function
> ...


 میخواستم ببینم سطحتون چنده 
 :لبخند گشاده!:

----------

