PDA

نسخه کامل مشاهده نسخه کامل : چطور از دو تا متغییر در حلقه for استفاده کنم؟



MIG
20-09-2010, 11:48
با سلام،
چطور میشه تو حلقه for دو تا متغییر رو نمو داد. من کد زیر رو نوشتم اما فقط it3 افزایش پیدا میکنه

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

Amir Varasteh
20-09-2010, 13:47
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداینو تست کن ببین میشه یا نه.

Perpetual
20-09-2010, 14:30
به خاطر اون && هست که تو اخر حلقه گذاشتید
اینجا : it2++ && it3++
بایستی به جاش , میذاشتید.
یعنی اینطور می شد

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

MIG
20-09-2010, 15:18
دوستان ببخشید تو قسمت آخر قبلا هم بینشون کاما گذاشته بودم درست کار نمی کرد . بینشون && هم گذاشتم باز کار نکرد.

MIG
20-09-2010, 15:24
دوستان سوال اینه:
من سه تا لیست دارم که طولشون الزاما با هم برابر نیست .هدف پیدا کردن عناصر مشترک بین لیست 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
يكي از اشكالات اينه كه اگه مثلا طول دومي از سومي كمتر باشه حلقه دوم چندتا از آخر سومي رو چك نميكنه...

MIG
25-09-2010, 16:43
از همه ممنونم درستش کردم.