در c#:
برنامه معکوس یعنی شما 12 می دی باید 21 چاپ کنه می خواستم ببینم چطوری میشه این کار رو کرد
اگر مقدور هست سورس + آموزش رو بزارید تا یاد بگیرم از تابع strreverse میشه استفاده کرد ولی بدون آون باید چی کار کنم ؟؟؟؟؟؟؟؟؟؟
Printable View
در c#:
برنامه معکوس یعنی شما 12 می دی باید 21 چاپ کنه می خواستم ببینم چطوری میشه این کار رو کرد
اگر مقدور هست سورس + آموزش رو بزارید تا یاد بگیرم از تابع strreverse میشه استفاده کرد ولی بدون آون باید چی کار کنم ؟؟؟؟؟؟؟؟؟؟
باید یک متغیرر از نو اینت (با نام فرضی n ومقدار اولیه ی صفر)تعریف کنی و مقدار مورد نظرت رو مدام بر 10 تقسیم کرده و باقیمانده را باn*10 جمع کنی.
مثلا برای عدد 142 :
مرحله ی یک:
n=0*10+2
مرحله ی دو:
n=2*10+4
مرحله ی سه:
n=24*10+1=241
فکر کنم مفهوم رو رسوندم نوشتن کدش دیگه کار خودته!:31:
[HTML]
int n;
n = 0;
n=textBox1.Text;
while (n > 0)
{
int k = n / 10;
int r = n % 10;
int s = k + r;
label1.Text = r;
}
[/HTML]
درسته ؟ لطفا اشکالا تش رو بر طرف نمایید
تو تبدیلات string to int و بالعکس ایراد می گیرد
از دستور convert هم استفاده کردم ولی درست نشد
الگوریتمی که برات نوشتم مسکلی نداره ها.خیلی راحت جواب میده. کدش رو دیگه خودت میتونی بنویسی.سعی کن همیشه کدهار وخودت ببنویسی تا به کد نوشتن عادت کنی دوست عزیز.
اگر نگاه کنید میبینید کد رو نوشتم به مشکل خوردم شما میتونید کد رو اصلاح کنید یا کد جدیدی بنویسید تا من یاد بگیرم من به کد نوشتن عادت دارم رشته کامپیوتر هست وکلی زبان تا الان pass کردم و...........نقل قول:
سلام
کد:public int Reverse(int value)
{
int ret = 0;
while (value > 0)
{
ret = (10 * ret) + (value % 10);
value /= 10;
}
return ret;
}
دوست عزی من متوجه نشدم این کدتون رو
[HTML]
private void button1_Click(object sender, EventArgs e)
{
int n;
int ret = 0;
n = textBox1.Text;
while ( n > 0)
{
ret = (10 * ret) + (n% 10);
n /= 10;
}
label1.Text = ret;
}
[/HTML]
من خودم این طوری نوشتم یعنی کاربر از طریق [HTML]text box[/HTML] یک عدد می دهد و برنامه معکوس میکند
الان مشکل در تبدیل نوع داده ای است
سلام
محتویات یک TextBox متنی است همان string یا آرایه ای از char ها ...
در حالیکه محاسبات روی اعداد و جبر و ریاضی و... عددی است.
برای تبدیل string به اعداد میتوانید از توابع کلاس Convert یا متدهای Parse استفاده کنید.
برای تبدیل به string هم متد ToString در دسترس است.
تابع Parse اگر نتواند string را به عدد تبدیل کند، خطایی را به جریان می اندازد که تابع TryParse بجای آن مقدار bool پس میدهد.کد:private void button1_Click(object sender, EventArgs e)
{
int i = int.Parse(this.Textbox1.Text);
int o = Reverse(i);
this.Label1.Text = o.ToString();
' ... یا در یک خط ...
' this.Label1.Text = Reverse(int.Parse(this.Textbox1.Text)).ToString();
}
public int Reverse(int value)
{
int ret = 0;
while (value > 0)
{
ret = (10 * ret) + (value % 10);
value /= 10;
}
return ret;
}
موفق باشید.
دوست عزی متا سفانه ما هنوز توابع باز گشتی رو نخواندیم و بدون استفاده از آن ها باید برنامه بنویسیم
سلام
تابع بازگشتی؟؟؟؟؟؟؟؟؟؟؟ حالا کدام تابع بازگشتی است؟!!!!!!!!!!!!!!!!!!!
نقل قول:
آقا راستش من با private و public مشکل دارم :دی
راستی کد م مشکل داره ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟
[HTML]
int n;
n = 0;
int g;
g =int.Parse(textBox1.Text.ToString());
while (g > n)
{
int k = g / 10;
int r = g % 10;
int s =n*10 + r;
}
label1.Text = Convert.ToString(s);
[/HTML]
من خیلی ساده می خواهم انجام بدم شما خیلی پیشرفته نوشتید من تازه دارم یاد میگیریم
شبه کدی مثل من بنویسید بی زحمن من مشکل دارم
سلام
اینها کلمات حوزه دید هستند و در کد قبلی این کلمات را هر طور تغییر دهید باز هم کار میکند!!!!نقل قول:
راستش من با private و public مشکل دارم
این مطلب از مطلب تابع بازگشتی تان هم عجیب تر بود!نقل قول:
شما خیلی پیشرفته نوشتید
با اجازتان من که چیزی نفهمیدم!نقل قول:
راستی کدم مشکل داره
نقل قول:
شبه کدی مثل من بنویسید
(البته تابع فوق (و همچنین کد قبلی) متمرکز روی پردازش عددی است چون من نمیدانستم هدفتان چیست ولی اگر بخواهید هر متنی را برعکس کنید هم میتوانید از پردازش های کاراکتر استفاده کنید.کد:private void button1_Click(object sender, EventArgs e)
{
int i = int.Parse(this.Textbox1.Text);
int o = 0;
while (i > 0)
{
o = (10 * o) + (i % 10);
i /= 10;
}
this.Label1.Text = o.ToString();
}
موفق باشید.
متشکرم :دی یاد گرفتم این طوری چقدر بهتره :دی
ببین تقریبا درسته.اما یه کار اضافی کردی.اول باقیمانده ی عددو به10 پیدا میکنی.بعد عددو به 10 تقسیم میکنی.بعد دوباره باقیمانده عددو به 10 پیدا میکنی و همینطور تا آخر.یه while هم میذاری برای وقتی که عدد کوچکتر از 10 شد.نقل قول:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
while (a>10)
{
b=a%10;
a=a/10;
printf("%d",a);
}
if (a<10)
printf("%d",a);
return0;
}اینو کپی کن تو ورد یا نوت پد تا درست شه.