مشاهده نسخه کامل
: چطور از دو تا متغییر در حلقه for استفاده کنم؟
با سلام،
چطور میشه تو حلقه for دو تا متغییر رو نمو داد. من کد زیر رو نوشتم اما فقط it3 افزایش پیدا میکنه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Amir Varasteh
20-09-2010, 13:47
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداینو تست کن ببین میشه یا نه.
Perpetual
20-09-2010, 14:30
به خاطر اون && هست که تو اخر حلقه گذاشتید
اینجا : it2++ && it3++
بایستی به جاش , میذاشتید.
یعنی اینطور می شد
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دوستان ببخشید تو قسمت آخر قبلا هم بینشون کاما گذاشته بودم درست کار نمی کرد . بینشون && هم گذاشتم باز کار نکرد.
دوستان سوال اینه:
من سه تا لیست دارم که طولشون الزاما با هم برابر نیست .هدف پیدا کردن عناصر مشترک بین لیست 1و دو تا لیست دیگه یعنی2 وو 3 و حذف شون از لیست 1هست.دو تا تکرارگر تعریف شده که به لسیت 2و لیست 3 اشاره میکنه. کافیه که محتوای گره در درست بررسی تو یکی از دو تا لیست 2و3 با عنصر خونده شده از لیست 1 برابر باشه تا از لیست 1 حذف بشه.کد زیر رو نوشتم اما در تغییر iterator ها دچار مشکل میشه.
اینم کدیه که نوشتم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
mahdi_mbi
21-09-2010, 00:04
دوستان سوال اینه:
من سه تا لیست دارم که طولشون الزاما با هم برابر نیست .هدف پیدا کردن عناصر مشترک بین لیست 1و دو تا لیست دیگه یعنی2 وو 3 و حذف شون از لیست 1هست.دو تا تکرارگر تعریف شده که به لسیت 2و لیست 3 اشاره میکنه. کافیه که محتوای گره در درست بررسی تو یکی از دو تا لیست 2و3 با عنصر خونده شده از لیست 1 برابر باشه تا از لیست 1 حذف بشه.کد زیر رو نوشتم اما در تغییر iterator ها دچار مشکل میشه.
اینم کدیه که نوشتم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پیشنهاد میکنم داخل for دوم یک cout قرار بدید که مقدار it2 رو چاپ کنه تا مطمئن بشید it2 افزایش پیدا نمیکنه و مشکل از جای دیگه نیست؛ همچنین اطمینان حاصل کنید که توابع ()begin و ()end مقادیر درستی برمیگردونن؛ چون قسمت افزایش iteratorها باید به همین شکل باشه و درسته.
kharkhoon
23-09-2010, 01:32
يكي از اشكالات اينه كه اگه مثلا طول دومي از سومي كمتر باشه حلقه دوم چندتا از آخر سومي رو چك نميكنه...
از همه ممنونم درستش کردم.
vBulletin , Copyright ©2000-2024, Jelsoft Enterprises Ltd.