PDA

View Full Version : سوال: کد عملیات کسر مسلسل چیه؟



m.bibjan
چهارشنبه 16 آذر 1390, 10:11 صبح
سلام
میخواستم ببینم کد کسر مسلسل رو چطوری می نویسند؟
مثلا کسر 148 تقسیم بر 43 را می توان به صورت زیر نوشت:
http://www.tizhosh.ir/files/majale%20rahnamai/majale2/kasr%20mosalsal/Untitled-11.jpg
کسر بالا یک کسر مسلسل با پایان نامیده می شود. زیرا در جایی متوقف می شود.
حالا میخوام مقدار خروجی رو توی یه تکس باکس نشون بده ، چیکار باید بکنم؟
البته با توضیح و تحلیل.ممنون
ببخشید عجله دارم .

سوداگر
چهارشنبه 16 آذر 1390, 15:45 عصر
سلام دوباره
کسی نیست جواب ما رو بده ؟
اساتید کجای مجلس نشسته اند؟

اساتید، برنامه نویسی بلدند
روش حل مساله (http://math2200.persianblog.ir/tag/تیزهوشان) رو یکم توضیح میدادی زودتر جواب میگرفتی

m.bibjan
چهارشنبه 16 آذر 1390, 16:00 عصر
سلام
یه سری توضیحاتی داده شده توی این سایت ببینید لطفا
http://math2200.persianblog.ir/post/4 (http://http://math2200.persianblog.ir/post/4)
بعد جواب ما رو بدین ممنون

lespaul
چهارشنبه 16 آذر 1390, 16:43 عصر
رفیق
منظورت از مقدار خروجی , کل اون کسره ؟ یا آخرین مخرج ( آخرین مرحله تقسیم : 1/4+1 ) ؟ دقیق تر بگو عزیز ...

wolf_majid
چهارشنبه 16 آذر 1390, 17:34 عصر
نمی دونم درسته یا نه ؟
هرچند به نظر کد درسته اما خروجیش با تصویر فرق می کنه

private void button1_Click(object sender, EventArgs e)
{
int num1 = int.Parse(textBox1.Text), num2 = int.Parse(textBox2.Text);
string str2 = string.Empty;
/*
while (num2 != 0)
{
str2 += num1 / num2;
int temp = num1;
num1 = num2;
num2 = temp % num2;
if (num2 != 0)
str2 += "+(1/";
}
this.Text = str2;
*/
Mosalsal(num1, num2,ref str2);
this.Text = str2;
}

/// <summary>
///
/// </summary>
/// <param name="num1"></param>
/// <param name="num2"></param>
/// <param name="strRet">لطفا" یک رشته خالی به ورودی بدهید</param>
private void Mosalsal(int num1, int num2,ref string str )
{
if (num2!=0)
{
str += num1 / num2;
int temp = num1;
num1 = num2;
num2 = temp % num2;
if (num2 != 0)
{
str += "+(1/";
Mosalsal(num1,num2, ref str);
str += ")";
}
}
}

m.bibjan
چهارشنبه 16 آذر 1390, 17:49 عصر
ببینید یا کسر مسلسلمون خروجی داره یا نه اگه داره که مقدارش رو حساب کنه و توی تکس باکس نشون بده بهمون که حاصلش میشه 1.25
78832
اگر خروجی نداره و جواب معینی نداره بهمون همون کسر رو بده و جلوش چند تا نقطه گذاشته بشه و خروجیش مثل کسر اخر این عکس باشه
78833
ممنون

m.bibjan
چهارشنبه 16 آذر 1390, 18:43 عصر
نمی دونم درسته یا نه ؟
هرچند به نظر کد درسته اما خروجیش با تصویر فرق می کنه

private void button1_Click(object sender, EventArgs e)
{
int num1 = int.Parse(textBox1.Text), num2 = int.Parse(textBox2.Text);
string str2 = string.Empty;
/*
while (num2 != 0)
{
str2 += num1 / num2;
int temp = num1;
num1 = num2;
num2 = temp % num2;
if (num2 != 0)
str2 += "+(1/";
}
this.Text = str2;
*/
Mosalsal(num1, num2,ref str2);
this.Text = str2;
}

/// <summary>
///
/// </summary>
/// <param name="num1"></param>
/// <param name="num2"></param>
/// <param name="strRet">لطفا" یک رشته خالی به ورودی بدهید</param>
private void Mosalsal(int num1, int num2,ref string str )
{
if (num2!=0)
{
str += num1 / num2;
int temp = num1;
num1 = num2;
num2 = temp % num2;
if (num2 != 0)
{
str += "+(1/";
Mosalsal(num1,num2, ref str);
str += ")";
}
}
}

=====================
درسته ولی اون چیزی که میخوام رو بهم نمایش نمیده.این کد شکل کسر بهمون میده و حاصلش رو حساب نمیکنه. اگه حاصلش رو حساب میکرد مشکلم حل میشد.بازم ممنون
میتونی کاریش کنی که حاصلش رو هم حساب کنه؟

wolf_majid
چهارشنبه 16 آذر 1390, 18:56 عصر
=====================
درسته ولی اون چیزی که میخوام رو بهم نمایش نمیده.این کد شکل کسر بهمون میده و حاصلش رو حساب نمیکنه. اگه حاصلش رو حساب میکرد مشکلم حل میشد.بازم ممنون
میتونی کاریش کنی که حاصلش رو هم حساب کنه؟
منظورتون رو نگرفتم
منظورتون اینه ؟ :
this.Text = (float)num1 / num2 + " = " + str2;

wolf_majid
چهارشنبه 16 آذر 1390, 19:32 عصر
بهتره کد متد را به صورت زیر ویرایش کنید

/// <summary>
///
/// </summary>
/// <param name="num1"></param>
/// <param name="num2"></param>
/// <param name="strRet">لطفا" یک رشته خالی به ورودی بدهید</param>
private void Mosalsal(int num1, int num2,ref string str )
{
if (num2!=0)
{
str += num1 / num2;
int temp = num1;
num1 = num2;
num2 = temp % num2;
if (num2 != 0)
{
str += "+(1/(";
Mosalsal(num1,num2, ref str);
str += "))";
}
}
}

m.bibjan
پنج شنبه 17 آذر 1390, 00:00 صبح
سلام خیلی ممنون از دقتتون
توضیحش رو هم بگین ممنون میشم.فقط دیدم یه پرانتز باز و بسته شده توی قسمتی از کد؟
اولویت بندی کردین عملیات رو با این تغییرتون توی کد؟
ممنون

wolf_majid
پنج شنبه 17 آذر 1390, 00:33 صبح
بله
آخه از دید رشته کامپیوتریا نتیجه نمایش درست نبود