PDA

نسخه کامل مشاهده نسخه کامل : سوالی در مورد کنسول، سی پلاس پلاس



afterpc
14-02-2012, 20:18
سلام
این مشکل شاید به نظر شما خیلی ساده بیاد، ولی من که از هرکسی (فقط یه نفر! :d) پرسیدم ندونست!
سوال اینه که توی کنسول، طرف میاد به این شکل عددها رو وارد میکنه که اول یه عدد میده بعد، توی سطر بعدی به همون تعداد، عدد میده که من باید با اونا یه کارایی بکنم. البته قبل از اون، تعداد دفعات رو هم وارد میکنه. به این شکل:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا اگه قرار نباشه که اون شخص بیاد تعداد اعداد رو بگه، من به راحتی مثلا برای 5 عدد این کارو میتونم بکنم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی قراره طرف خودش بده تعداد رو. حالا من چیکارش کنم؟
اگه بشه، اینو هم بگین که اگه طرف نگه تعداد اعداد رو، چطور باید باز توی یه آرایه بندازیمشون؟

saeed_136915
14-02-2012, 21:02
سلام توی آرایه نمیشه. میتونین از لیست پیوندی استفاده کنین.

afterpc
14-02-2012, 21:12
لیست پیوندی؟ میتونین کمی توضیح بدین؟ من از سی شارپ به سی پلاس پلاس اومدم، ولی اینو نشنیدم تا حالا. اگه بشه کمی توضیح بدین روش کار رو.

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:

afterpc
15-02-2012, 15:47
نه، من توی یه مسابقه شرکت میکنم که بخاطر این که سی شارپ و جاوا رو قبول نمیکنن، مجبورم تا جمعه سی کار کنم. اونا هم خودشون سوالا رو اصلاح نمیکنن، به یه برنامه میدن که برنامه هم طوری تنظیم شده که فقط به این شکل عدد رو میگیره:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی اگه با for بنویسم، باید به این شکل بگیره:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dr.b4ne
15-02-2012, 16:48
دوست عزیز از حلقه تو در تو استفاده کن ، خیلی راحته . . . آخه چرا !

afterpc
15-02-2012, 16:55
خوب چطور؟ اگه بشه یه نمونه کد بنویسین. ولی فکر کنم کلا با for نمیشه.

khanghodrat
15-02-2012, 17:29
خب دوست من تو اون مسابقه ورودی استاندارد میدن ...
و خروجی رو میگرن مقایسه میکنن

مثال
برنامه که سه عدد را بگیرد و جمع کند؟
جواب

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و حالا ورودی استاندارد رو در فایل متنی ذخیره کن به اسم p.in

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
شما واسه تستش کافیه cmd رو باز کنی بنویسی
p.exe<p.in>p.out
وقتی p.out رو باز کنی میبینی جواب چاپ شده

شما قرار نیست دستی ورودی وارد کنی

p d
15-02-2012, 17:39
که فقط به این شکل عدد رو میگیره:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

]

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

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
max رو هم 1 عدد بزرگ بگیرید.
اینی که من گفتم حالت غیرپویا هست. اگه میخواید پویا باشه باید از لیست پیوندی استفاده شه که ارزش نداره بنظرم.(برا این مورد البته)
موفق باشید.

afterpc
15-02-2012, 21:44
خوب، من مطمئن نیستم، چون همه سوالات برنامه نویسی میگن باید به این صورت باشه که با اسپیس جدا شده باشن. اگه بشه، جواب یکی از سوالات مسابقه برنامه نویسی رو بدین. من که سرچ کردم هیچی نبود!

p d
15-02-2012, 22:32
تویه همین تالار سرچ کن acm پر از سوالات حل شده ی مسابقات ه