مشاهده نسخه کامل
: سوالی در مورد کنسول، سی پلاس پلاس
سلام
این مشکل شاید به نظر شما خیلی ساده بیاد، ولی من که از هرکسی (فقط یه نفر! :d) پرسیدم ندونست!
سوال اینه که توی کنسول، طرف میاد به این شکل عددها رو وارد میکنه که اول یه عدد میده بعد، توی سطر بعدی به همون تعداد، عدد میده که من باید با اونا یه کارایی بکنم. البته قبل از اون، تعداد دفعات رو هم وارد میکنه. به این شکل:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا اگه قرار نباشه که اون شخص بیاد تعداد اعداد رو بگه، من به راحتی مثلا برای 5 عدد این کارو میتونم بکنم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی قراره طرف خودش بده تعداد رو. حالا من چیکارش کنم؟
اگه بشه، اینو هم بگین که اگه طرف نگه تعداد اعداد رو، چطور باید باز توی یه آرایه بندازیمشون؟
saeed_136915
14-02-2012, 21:02
سلام توی آرایه نمیشه. میتونین از لیست پیوندی استفاده کنین.
لیست پیوندی؟ میتونین کمی توضیح بدین؟ من از سی شارپ به سی پلاس پلاس اومدم، ولی اینو نشنیدم تا حالا. اگه بشه کمی توضیح بدین روش کار رو.
khanghodrat
15-02-2012, 09:39
اگر درست متوجه شده باشم
شما میخوایی یک عدد بگیری و بعد به همون تعداد دوباره عدد بگیری درسته؟
خوب حلقه استفاده کن ...
مثلا کاربر n رو وارد میکنه بعد شما در حلقه 1 تا n بار عدد میگیری.
saeed_136915
15-02-2012, 14:07
لیست پیوندی؟ میتونین کمی توضیح بدین؟ من از سی شارپ به سی پلاس پلاس اومدم، ولی اینو نشنیدم تا حالا. اگه بشه کمی توضیح بدین روش کار رو.
سلام واللا یکم بحثش طولانیه اگه یه سرچ کنین حتما متوجه میشین. باید یه کلاس Node تعریف کنین و واسه اضافه کردن یا خوندن از اون گره تابع بنویسین.
---------- Post added at 02:07 PM ---------- Previous post was at 02:06 PM ----------
اگر درست متوجه شده باشم
شما میخوایی یک عدد بگیری و بعد به همون تعداد دوباره عدد بگیری درسته؟
خوب حلقه استفاده کن ...
مثلا کاربر n رو وارد میکنه بعد شما در حلقه 1 تا n بار عدد میگیری.
مشکل دوستمون توی ذخیره کردن این عدد هاست :31:
نه، من توی یه مسابقه شرکت میکنم که بخاطر این که سی شارپ و جاوا رو قبول نمیکنن، مجبورم تا جمعه سی کار کنم. اونا هم خودشون سوالا رو اصلاح نمیکنن، به یه برنامه میدن که برنامه هم طوری تنظیم شده که فقط به این شکل عدد رو میگیره:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی اگه با for بنویسم، باید به این شکل بگیره:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دوست عزیز از حلقه تو در تو استفاده کن ، خیلی راحته . . . آخه چرا !
خوب چطور؟ اگه بشه یه نمونه کد بنویسین. ولی فکر کنم کلا با for نمیشه.
khanghodrat
15-02-2012, 17:29
خب دوست من تو اون مسابقه ورودی استاندارد میدن ...
و خروجی رو میگرن مقایسه میکنن
مثال
برنامه که سه عدد را بگیرد و جمع کند؟
جواب
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و حالا ورودی استاندارد رو در فایل متنی ذخیره کن به اسم p.in
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
شما واسه تستش کافیه cmd رو باز کنی بنویسی
p.exe<p.in>p.out
وقتی p.out رو باز کنی میبینی جواب چاپ شده
شما قرار نیست دستی ورودی وارد کنی
که فقط به این شکل عدد رو میگیره:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
]
سلام دوست من.
من مشکلی نمیبینم. یا من متوجه نمیشم چی میگید.
این کد برای چیزی که نوشتید جواب میده:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
max رو هم 1 عدد بزرگ بگیرید.
اینی که من گفتم حالت غیرپویا هست. اگه میخواید پویا باشه باید از لیست پیوندی استفاده شه که ارزش نداره بنظرم.(برا این مورد البته)
موفق باشید.
خوب، من مطمئن نیستم، چون همه سوالات برنامه نویسی میگن باید به این صورت باشه که با اسپیس جدا شده باشن. اگه بشه، جواب یکی از سوالات مسابقه برنامه نویسی رو بدین. من که سرچ کردم هیچی نبود!
تویه همین تالار سرچ کن acm پر از سوالات حل شده ی مسابقات ه
vBulletin , Copyright ©2000-2024, Jelsoft Enterprises Ltd.