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

## esmartiz_red

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

----------


## NewFoxStudent

دو روش هست
یکی با استفاده از تقسیمات متوالی که باید با توجه به تعداد ارقام ، عدد رو به 10و 100و1000و.... تقسیم کنید و باقیمانده رو بگیرید
و روش دوم تبدیل عدد به رشته و استفاده از متد Split یا SubString
و البته روشهای دیگه ای هم هست

----------


## Open-Source

این تکه کد با استفاده از رشته ها:

            string s = "12345";
            
            int[] arr=new int[20];
            char[] temp=s.ToCharArray();
            for (int i=0;i<s.Length;i++)
            {
                arr[i]=int.Parse(temp[i].ToString());
            }
 :لبخند:

----------


## tdkhakpur

سلام
کد زیر ان کار رو برای شما انجام میدهد.
 
 char  s[20]={0}, c=0;
  int k =12345;   
  while( k/10>0 ){
  { 
   s[C++‎] = k%10+'0';
   k /=10;
  }
  for( int i=0; i<c/2; i++)  strc[i] = str[c-i-1];

موفق باشید.

----------


## Salar Ashgi

سلام ، تابع زیر برای هر عدد صحیحی با هر تعداد ارقام (مجاز) است و نتیجه رو تو یه آرایه


ذخیره کرده و آنرا بر می گرداند :


با استفاده از یه متود :



int[] Split(int n)
{
int len = Convert.ToString(n).Length;
int[] a = new int[len];
int m = n;
while (m != 0)
{
for (int i = len - 1; i >= 0; i--)
{
a[i] = m % 10;
m /= 10;
}
}
return a;
}



موفق و پیروز باشید !!!

----------


## tdkhakpur

> سلام ، تابع زیر برای هر عدد صحیحی با هر تعداد ارقام (مجاز) است و نتیجه رو تو یه آرایه
> 
> ذخیره کرده و آنرا بر می گرداند :


سلام 
دوست من فقط خواستم کد شما رو هم مطالع کنم ولی د  ایراد کوچیک داره 
1- اون حافظه ای رو که میگرییم همونطوری به امان خدا ولش کنیم.
2- نقطه شروع عدد ها کجاست.
دوست عزیز فقط نظر دادم نمیخوام رو از کد شما ایراد بگیرم
شما هم موفق و پیروز باشید.

----------


## Salar Ashgi

> سلام 
> دوست من فقط خواستم کد شما رو هم مطالع کنم ولی د ایراد کوچیک داره 
> 1- اون حافظه ای رو که میگرییم همونطوری به امان خدا ولش کنیم.
> 2- نقطه شروع عدد ها کجاست.
> دوست عزیز فقط نظر دادم نمیخوام رو از کد شما ایراد بگیرم
> شما هم موفق و پیروز باشید.


1) دوست عزیزی که سوال رو پرسیده بودند ، گفته بودند نتیجه قراره تو یه آرایه ذخیره بشه ،

و در حالیکه  ما حافظه را ول نکردیم به امان خدا ،  داریم ازش استفاده می کنیم و ارقام

رو توش ذخیره می کنیم .

2) نمی دونم منظورتون از نقطه شروع عدد چیه ؟؟

----------


## tdkhakpur

> 1) دوست عزیزی که سوال رو پرسیده بودند ، گفته بودند نتیجه قراره تو یه آرایه ذخیره بشه ،
>  و در حالیکه ما حافظه را ول نکردیم به امان خدا ، داریم ازش استفاده می کنیم و ارقام
>  رو توش ذخیره می کنیم .
>  2) نمی دونم منظورتون از نقطه شروع عدد چیه ؟؟


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

----------


## Salar Ashgi

> سلام
> شاید ما به دوستمون بی احترامی میکنیم که توی تاپیک اون داریم بحث میکنیم.
> تابع شما هر بار اجرا بشود یک حافظه دیگه میگیره و دوم هم این هست شما باید اعداد رو به ترتیب از ابتدای آرایه ثبت کنید و نه آخر آرایه و مورد سوم هم این هست که طرف در آن سوی تابع چطور مقدار یعنی تعداد اعداد موجود در آرایه رو تشخیص بدهد؟
> موفق باشید.


دوست عزیز شرمنده ، ولی شما معلومه که کد رو به دقت نگاه نکردین !

کد من فقط یه مثال بود ، و برنامه نویس خودش باید طبق نیازش کد رو بررسی کنه و تغییر

بده !

اگه اعداد به ترتیب ثبت می شدند ، اون وقت آخرین رقم عدد اولین عنصر آرایه بود ، که این

درست نیست ، ما میخوایم اولین رقم عدد اولین خونه آرایه باشه !

مورد سوم هم اینکه از روی کد خیلی بدیهی هستش که سایز آرایه به اندازه تعداد ارقام عدد

مورد نظر میباشد ، پس هیچ مشکلی نیست !!!

به نظر من کد مشکل خاصی نداره ، همون که کار دوستمون راه بیفته برای ما کافیه و بیشتر

از این ، سر یه موضوع بحث کردن رو ضروری و جایز نمی دونم !

----------


## sheyda123

سلام خسته نباشید چگونه میتوانم یک عدد چهررقمی را دریافت کنم و ارقام ان را ازهم جدا کنم؟؟

----------


## fool66

> سلام خسته نباشید چگونه میتوانم یک عدد چهررقمی را دریافت کنم و ارقام ان را ازهم جدا کنم؟؟



جوابتون توی جواب های بالا هست این کد رو هم ببینید مشکلی داشتین بپرسید



 int Num1 = Convert.ToInt32(textBox1.Text);
            for (int i = 0; i < Num1.ToString().Length; i++)
            {


               خروجی = (Num1.ToString()).Substring(i, 1);
                


            }

----------

