PDA

View Full Version : سوال: رسم این شکل در یک label و با حلقه for



scholargabriel
چهارشنبه 18 آبان 1390, 18:15 عصر
سلام دوستان
چطور میشه یه همچین شکلی را با حلقه for کشید و در یک label نمایش داد؟ :متفکر:
*
**
***
****
*****
و این
*
**
***
****
*****
****
***
**
*

electro_esma
چهارشنبه 18 آبان 1390, 18:46 عصر
دوست من اگه شما می خوای یه چیزی شبیه پروجرس بار نمایش بدی باید از تایمر استفاده کنی .

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

خیلی سادست.





موفق باشی....

scholargabriel
چهارشنبه 18 آبان 1390, 19:06 عصر
دوست عزیز من مبتدی هستم و چیزی که برای شما سادست من هنوز بلد نیستم
اگه ممکنه برای من توضیح دهید
در ضمن اون مسله که گفتم تبدیل توان به جمع راه ریاضیش را متوجه شدم فقط نمی دونم چطور به عنوام شرط بذارمش
اگه a پایه و b توان باشد ما به a^b-1 جمع نیاز داریم ولی این را تو شرط قبول نمی کنه

scholargabriel
چهارشنبه 18 آبان 1390, 19:11 عصر
int


a, b, c;



for (c = 2; a ^ b - 1; c++)

a += a;



MessageBox.Show(Convert.ToString(a));

electro_esma
چهارشنبه 18 آبان 1390, 19:16 عصر
دوست من مگه پست رو ندیدید . تمام راه رو با جمع برات رفتم دیگه

اگه ندونستی بگو بازم برات بگم

اینم لینک همون مسئله . (http://barnamenevis.org/showthread.php?312535-سوال-تبدیل-توان-به-جمع&p=1372925&viewfull=1#post1372925)

electro_esma
چهارشنبه 18 آبان 1390, 19:18 عصر
برای رسم شکل هم الان برات یه برنامه می نویسم شاید بدردت خورد.

electro_esma
چهارشنبه 18 آبان 1390, 19:30 عصر
یه ویندوز فرم اپلیکیشن درست کن.

این برنامه رو توش بنویس
77656


بعد توی فرم هم یه دونه تایمر دراگ کن


جواب برنامت اینطوری می شه البته هر دونه ستاره بعد از یه ثانیه اضافه می شه.

77657

nunegandom
چهارشنبه 18 آبان 1390, 19:35 عصر
:بامزه: :چشمک:

wolf_majid
چهارشنبه 18 آبان 1390, 20:26 عصر
:بامزه: :چشمک:

خیاله همه رو راحت کردی؟ :لبخندساده: :چشمک:

خدا بهشون رحم کنه که برا نوشتن تمریناشون تلاش نمی کنند (البته منظورم شما نیستید دوست عزیز (scholargabriel) . منظورم تمام کسایه که مستقیم تمرینشون رو از اینترنت می گیرند)

AliRezaPro
چهارشنبه 18 آبان 1390, 21:35 عصر
نیاز کاریتون رو نفرمودید ؟ این چیزی که شما گفتید یه تمرین دانشگاهی بیش نیست ! . اولی با یک حلقه و دومی را با دو حلقه بسیار بسیار ساده میشه نوشت . دوستان دقت کنند که جزو قوانین سایت هست که سئوال دانشگاهی نباید پرسیده بشه تو سایت . خصوصا همچین سئوال هایی.

شاد باشید /.

scholargabriel
پنج شنبه 19 آبان 1390, 10:53 صبح
از همه دوستان تشکر می کنم
من تازه 4 جلسه است که وارد برنامه نویسی شدم
و اگه واقعا نتونم برنامه خودم را بنویسم این جا مطرح می کنم
باز هم از همه تشکر می کنم مخصوصا electro esma


http://barnamenevis.org/images/site_icons/profile.pngمشاهده پروفایل (http://barnamenevis.org/member.php?225636-electro_esma)
http://barnamenevis.org/images/site_icons/forum.png پست های ارسال شده (http://barnamenevis.org/search.php?do=finduser&userid=225636&contenttype=vBForum_Post&showposts=1)
http://barnamenevis.org/images/site_icons/message.png پیام خصوصی (http://barnamenevis.org/private.php?do=newpm&u=225636)
http://barnamenevis.org/images/site_icons/article.png مشاهده مقالات (http://barnamenevis.org/list.php/author/225636-electro_esma)
http://barnamenevis.org/images/site_icons/add.png افزودن به لیست تماس ها (http://barnamenevis.org/profile.php?do=addlist&userlist=buddy&u=225636)

http://barnamenevis.org/images/statusicon/user-offline.png

wolf_majid
پنج شنبه 19 آبان 1390, 11:06 صبح
دوست عزیز تو باید اشکالت رو بپرسی
یا تمرینی که نوشتی رو بگذاری تا دوستانت اشکالاتت رو بگند (اینطوری خیلی سریع تر هم یاد می گیری)
تا اینکه یک دفعه کل تمرین رو از دوستان بخوای

بازم می گم من قصدم بی احترامی نبود فقط می خواستم بگم سعی کنید تمریناتتون رو خودتون حل کنید

scholargabriel
پنج شنبه 19 آبان 1390, 13:05 عصر
int


b;



for (b = 1; b >= 1; b = b - 1)

{

label1.Text +=

Convert.ToString("*") + "\n";

label1.Text +=

Convert.ToString("**") + "\n";

label1.Text +=

Convert.ToString("***") + "\n";

label1.Text +=

Convert.ToString("****") + "\n";

label1.Text +=

Convert.ToString("*****") + "\n";

}



for (b=1; b>=1;b=b-1)

{

label1.Text +=

Convert.ToString("*****")+"\n";

label1.Text +=

Convert.ToString("****") + "\n";

label1.Text +=

Convert.ToString("***") + "\n";

label1.Text +=

Convert.ToString("**") + "\n";

label1.Text +=

Convert.ToString("*") + "\n";

}

electro_esma
پنج شنبه 19 آبان 1390, 13:10 عصر
با سلام دوست من

با این همه حلقه و تایمر دیگه این کارا فکر نمی کنم لازم باشه . بازم البته اینم یه راهی ها. . .

scholargabriel
پنج شنبه 19 آبان 1390, 13:10 عصر
دوست عزیز این جوری می خواستم
:لبخند:

scholargabriel
پنج شنبه 19 آبان 1390, 13:22 عصر
خوب استاد تا حالا از تایمر استفاده نکرده بود اگه استفاده می کردم تابلو بود :لبخندساده:

electro_esma
پنج شنبه 19 آبان 1390, 13:28 عصر
ولی این در روی کاغذ می شه.

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

تعریف حلقه for شما به نظر خودتون اشتباه نیست. for (b=1; b>=1;b=b-1)

حلقه for از یه مقدار به طور مثال 1 یا صفر شورع می شه و یکی یکی یا حالا هرچند تا که بهش بگی زیاد یا کم می شه تا زمانی که شرط برقرار بشه

این حلقه شما اصلا کار نمی کند. از یک شروع می شه و چون همون موقع برابر یک است تمام میشه

wolf_majid
پنج شنبه 19 آبان 1390, 13:45 عصر
ببین دوست عزیز
الگوریتم نوشتنش خیلی راحته :
1- شما باید یک ورودی از کاربر بگیرید
2- یک حلقه For از یک تا عدد ورودی کاربر با یک حلقه داخلی از یک تا شمارنده حلقه قبلی
3- حلقه اول یک فضای خالی چاپ می کند و حلقه دوم ستاره
برای قسمت بازگشتش به همین روش ولی از ورودی-1 کاربر تا یک عمل کن

موفق باشی

scholargabriel
پنج شنبه 19 آبان 1390, 14:03 عصر
اگه این شکلی بنویسم فقط 5 تا ستاره زیر هم چاپ می کنه


for


(b = 5; b >=1; b = b - 1)

{

label1.Text +=

Convert.ToString("*")+"\n";

wolf_majid
پنج شنبه 19 آبان 1390, 14:24 عصر
اگر به داخل این حاقه For یک حلقه دیگه اضافه کنی نصف راه را رفتی
به صورت زیر :
for(int i=b-1;i>=1;i--)

scholargabriel
پنج شنبه 19 آبان 1390, 14:25 عصر
چطوری بگم هر دفعه یه ستاره اضافه کنه؟

scholargabriel
پنج شنبه 19 آبان 1390, 14:27 عصر
یعنی چطور؟

wolf_majid
پنج شنبه 19 آبان 1390, 14:28 عصر
نصف کد رو برات می نویسم خوب روش فکر کن بقیش با خودت
for (int i=1;i<=5;i++)
{
for(int j=1;j<=i;j++)
label1.Text+="* ";
label1.Text+="\n";
}

scholargabriel
پنج شنبه 19 آبان 1390, 14:44 عصر
:تشویق: مرسی افتاد