PDA

View Full Version : جدا کردن ارقام یک عدد



esmartiz_red
شنبه 23 خرداد 1388, 15:58 عصر
سلام دوستان
من می خوام یه عدد رو به عنوان ورودی بگیرم بعد رقم هاشو جدا کنم و هر کدام از رقم هاشو بریزم تو یه خونه از آرایه
ممنون می شم

NewFoxStudent
شنبه 23 خرداد 1388, 16:35 عصر
دو روش هست
یکی با استفاده از تقسیمات متوالی که باید با توجه به تعداد ارقام ، عدد رو به 10و 100و1000و.... تقسیم کنید و باقیمانده رو بگیرید
و روش دوم تبدیل عدد به رشته و استفاده از متد Split یا SubString
و البته روشهای دیگه ای هم هست

Open-Source
شنبه 23 خرداد 1388, 19:53 عصر
این تکه کد با استفاده از رشته ها:


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
شنبه 23 خرداد 1388, 20:06 عصر
سلام
کد زیر ان کار رو برای شما انجام میدهد.


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
شنبه 23 خرداد 1388, 20:18 عصر
سلام ، تابع زیر برای هر عدد صحیحی با هر تعداد ارقام (مجاز) است و نتیجه رو تو یه آرایه


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


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



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
شنبه 23 خرداد 1388, 21:13 عصر
سلام ، تابع زیر برای هر عدد صحیحی با هر تعداد ارقام (مجاز) است و نتیجه رو تو یه آرایه

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

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

Salar Ashgi
یک شنبه 24 خرداد 1388, 00:53 صبح
سلام
دوست من فقط خواستم کد شما رو هم مطالع کنم ولی د ایراد کوچیک داره
1- اون حافظه ای رو که میگرییم همونطوری به امان خدا ولش کنیم.
2- نقطه شروع عدد ها کجاست.
دوست عزیز فقط نظر دادم نمیخوام رو از کد شما ایراد بگیرم
شما هم موفق و پیروز باشید.

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

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

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

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

tdkhakpur
یک شنبه 24 خرداد 1388, 01:00 صبح
1) دوست عزیزی که سوال رو پرسیده بودند ، گفته بودند نتیجه قراره تو یه آرایه ذخیره بشه ،
و در حالیکه ما حافظه را ول نکردیم به امان خدا ، داریم ازش استفاده می کنیم و ارقام
رو توش ذخیره می کنیم .
2) نمی دونم منظورتون از نقطه شروع عدد چیه ؟؟
سلام
شاید ما به دوستمون بی احترامی میکنیم که توی تاپیک اون داریم بحث میکنیم.
تابع شما هر بار اجرا بشود یک حافظه دیگه میگیره و دوم هم این هست شما باید اعداد رو به ترتیب از ابتدای آرایه ثبت کنید و نه آخر آرایه و مورد سوم هم این هست که طرف در آن سوی تابع چطور مقدار یعنی تعداد اعداد موجود در آرایه رو تشخیص بدهد؟
موفق باشید.

Salar Ashgi
یک شنبه 24 خرداد 1388, 15:46 عصر
سلام
شاید ما به دوستمون بی احترامی میکنیم که توی تاپیک اون داریم بحث میکنیم.
تابع شما هر بار اجرا بشود یک حافظه دیگه میگیره و دوم هم این هست شما باید اعداد رو به ترتیب از ابتدای آرایه ثبت کنید و نه آخر آرایه و مورد سوم هم این هست که طرف در آن سوی تابع چطور مقدار یعنی تعداد اعداد موجود در آرایه رو تشخیص بدهد؟
موفق باشید.

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

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

بده !

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

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

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

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

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

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

sheyda123
چهارشنبه 05 فروردین 1394, 13:40 عصر
سلام خسته نباشید چگونه میتوانم یک عدد چهررقمی را دریافت کنم و ارقام ان را ازهم جدا کنم؟؟

fool66
پنج شنبه 06 فروردین 1394, 00:40 صبح
سلام خسته نباشید چگونه میتوانم یک عدد چهررقمی را دریافت کنم و ارقام ان را ازهم جدا کنم؟؟


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




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


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



}