PDA

View Full Version : سوال: مقلوب(revers) کردن عدد



sahel013
چهارشنبه 22 اردیبهشت 1395, 20:40 عصر
سلام.وقت همگی بخیر
چرا این کد فقط جواب 1 میده.مشکلش کجاست:متفکر:
Console.WriteLine("please a number enter a revers");
int y = int.Parse(Console.ReadLine());
Class3 oclass3 = new Class3();
Console.WriteLine("revers:");
Console.WriteLine(oclass3.re(y));
Console.WriteLine("***********************");
System.Console.ReadKey();
و کلاسش اینجوری تعریف کردم
class Class3
{
public int re(int y)
{
int x = 1;

for (int i = 0; i >= y; i++)
{
x = y/10;
x = x/10;
}
return x;
}
}

csharpcollegian
چهارشنبه 22 اردیبهشت 1395, 21:04 عصر
سلام
کد رو در تگ نامناسبی گذاشتید، خیلی قابل فهم نیست ولی چیزی که مشخصه اینه که شرط for مشکل داره.
من نمی دونم دقیقا با این کد میخواید چی کار کنید ولی شرط for طوریه که فقط عدد ورودی صفر و یا منفی رو میپذیره که در این صورت هم تبدیل میشه به یک حلقه بی نهایت.
موفق باشید

sahel013
چهارشنبه 22 اردیبهشت 1395, 21:13 عصر
سلام
کد رو در تگ نامناسبی گذاشتید، خیلی قابل فهم نیست ولی چیزی که مشخصه اینه که شرط for مشکل داره.
من نمی دونم دقیقا با این کد میخواید چی کار کنید ولی شرط for طوریه که فقط عدد ورودی صفر و یا منفی رو میپذیره که در این صورت هم تبدیل میشه به یک حلقه بی نهایت.
موفق باشید


این برنامه باید یه عدد بگیره و مقلوبش کنه

mrprestige
چهارشنبه 22 اردیبهشت 1395, 21:17 عصر
سلام وقت بخیر ، نکته اول بفرمایید منظور از مقلوب کردن یعنی چی ؟ متوجه نشدم و نکته دوم اینکه کدهاتون رو داخل تگ #C قرار بدید اینطور خیلی بهتر میتونم راهنماییتون کنم .

حلقه For رو هم به این صورت تغییرش بده


for (int i = 0; i <= y; i++)

sahel013
چهارشنبه 22 اردیبهشت 1395, 21:20 عصر
سلام وقت بخیر ، نکته اول بفرمایید منظور از مقلوب کردن یعنی چی ؟ متوجه نشدم و نکته دوم اینکه کدهاتون رو داخل تگ #C قرار بدید اینطور خیلی بهتر میتونم راهنماییتون کنم .

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

sahel013
چهارشنبه 22 اردیبهشت 1395, 21:31 عصر
مثلا عددی مثل 12345 رو بگیره و در خروجی 54321 رو نمایش بده

s12345
چهارشنبه 22 اردیبهشت 1395, 21:41 عصر
اینو به جای کد کلاست بنویس ببین چی جواب میده
int x;
string str;
for (int i = 0; i <= y; i++)
{
x=y%10;
y=y/10;
str+=x.toString();
}
return str;

mrprestige
چهارشنبه 22 اردیبهشت 1395, 21:48 عصر
مثلا عددی مثل 12345 رو بگیره و در خروجی 54321 رو نمایش بده

خب عذر میخوام این اسمش مقلوب نیست ! اسمش معکوس یک عدد هست که الان شما حلقه ای نوشتی اشکال داره اونطور که توی پست قبلیم نوشتم بنویس و اگر هم میخوای توی محیط Winform بنویسی داخل کافیه داخل کنترل مورد نظرت ( مثلا Button) این کدی که الان من نوشتم براتون بنویسی (کنترل Textbox و Listbox هم به فرم اضافه کنید )



int num=int32.parse(textbox1.text);
int inversum=0 , Remain=0;
While(num!=0)
{
Remain=num%10;
inversum=inversum*10+Remain;
num=num/10;
}
listbox1.items.Add(inversum);



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

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

sahel013
چهارشنبه 22 اردیبهشت 1395, 22:49 عصر
من بازم به نتیجه رسیدم واقعا نمیدونم چه مشکلی داره
public int re(int y)
{

int x = 0;
int z = 0;
while (y != 0)
{
x = y/10;
x = x/10;
z = z*10 + x;

}
return z;
}

s12345
پنج شنبه 23 اردیبهشت 1395, 14:34 عصر
من بازم به نتیجه رسیدم واقعا نمیدونم چه مشکلی داره
public int re(int y)
{

int x = 0;
int z = 0;
while (y != 0)
{
x = y/10;
x = x/10;
z = z*10 + x;

}
return z;
}


به کدی که برات تو کامنتای بالا نوشتم دقت بکن... متغیر string تعریف کردم که بعد از حصول کامل نتیجه عبارت رو برمیگردونه... اگه از نوع int تعریف کنی ارقام رو با همدیگه جمع میکنه... ما جمع ریاضی نمیخایم. جمع رشته ای میخایم

ژیار رحیمی
پنج شنبه 23 اردیبهشت 1395, 17:57 عصر
من بازم به نتیجه رسیدم واقعا نمیدونم چه مشکلی داره
public int re(int y)
{

int x = 0;
int z = 0;
while (y != 0)
{
x = y/10;
x = x/10;
z = z*10 + x;

}
return z;
}

بصورت زیر کدها رو اصلاح کن

public int re(int y)
{
int x = 0;
int z = 0;
while (y > 0)
{
x = y%10;
z = z*10 + x;
y = y/10;
}
return z;
}