PDA

View Full Version : سوال: پروژه كوله پشتي



silvery
پنج شنبه 21 آذر 1392, 10:09 صبح
سلام.من واسه درس الگوريتمهاي پردازش تكاملي يه پروزه بايد بنويسم بنام كوله پشتي ولي همون اولش گير كردم.ي آرايه تعريف كردم ك وقتي ميخوام پرش كنم اين خطا رو ميده:
Index was outside the bounds of the array.
در صورتي ك عددي ك وارد ميكنم بزرگتر از خونه هاي آرايه ام نيس.بايد چيكار كنم؟
اينم پروژه ام
113815

fmehrvarzi
پنج شنبه 21 آذر 1392, 10:56 صبح
اروری که میده بخاطره این هست که مقدار population_size، صفر میباشد
شما باید مقدار population_size را عددی بزرگتر مساوی یک انتخاب کنید

rahnema1
پنج شنبه 21 آذر 1392, 11:23 صبح
یک سوال: چه لزومی داشته که شما متغیرها را بصورت static تعریف کردید؟ حالا واسه اونهایی که توی کلاس مقدار دهی شدند مثل value و item_weigth میشه یه توجیهی انجام داد ولی واسه بقیه متغیرها مخصوصا population_array چه لزومی داره static باشن ارور هم واسه همینه همون طور که دوستمون گفت شما population_size رابرای کلاس مقدار دهی نکردید

silvery
جمعه 22 آذر 1392, 11:57 صبح
population_size رو مقدار دهي نكردم چون قراره از كاربر گرفته بشه كه توي خود main برنامه نوشتم از ورودي دريافت بشه.متغيرامم وقتي static نبود ارور ميداد واسه همين استاتيكشون كردم.الان اين مشكلو حل كردم ولي مشكلي كه پيدا كردم اينه ك مثلا وقتيpopulation_size رو سه ميدم بايد يه آرايه با سه تا سطر و ده تا ستون بسازه ولي من population_size رو هرچيم وارد كنم وقتي روي button كليك ميكنم برنامه فقط ي سطر ميسازه و من ميتونم هر چي بخوام روي دكمه كليك كنم.در واقع من نميدونم چجوري مقداري كه به p_size توي main ميدم رو چجوري بفرستم واسه كلاسم!
113877

fmehrvarzi
جمعه 22 آذر 1392, 12:06 عصر
در این صورت باید مقدار population_size را قبل از هر کدی در کد فرم هات، به صورت زیر مقدار دهی کنی
population.population_size=Int.Parse(txtInputTextB ox1.Text);

silvery
جمعه 22 آذر 1392, 12:28 عصر
population_size قراره از مين فرستاده بشه.برنامه رو گذاشتم.اگه ميشه ببينيد تا منظورمو بفهميد.ممنون

rahnema1
جمعه 22 آذر 1392, 13:39 عصر
لزومی نداشت حتما واسه این برنامه از کلاس استفاده کنید که اینقدر دردسر داشته باشید می تونستید صرفا از تابع استفاده کنید

silvery
جمعه 22 آذر 1392, 14:30 عصر
آخه برنامم كه فقط همين نيست.خيليه هنوز بقيه شو ننوشتم چون اينجاش گير كردم.بايد از كلاس استفاده كنم تا برنامم بهينه بشه.ممنون اون مشكلم حل شد فقط يه سوال.چطوري ميتونم سطر اول آرايه رو بريزم توي سطر اول list ؟الان توي هر سطر ليستم فقط يه خونه از آرايه هس.من ميخوام كل خونه هاي آرايه ام توي يه سطر باشه

rahnema1
جمعه 22 آذر 1392, 14:44 عصر
باز هم پیشنهاد می کنم واسه انجام این پروژه شما فقط روی الگوریتمتون متمرکز بشید حالا شما وارد مسائل کلاس و شی گرایی می شید و لیست باکس و ... باز مساله پیچیده تر میشه پیشنهاد می کنم مساله رو در کنسول و به صورت تابع و ساخت یافته یک بار حل کنید وقتی انجام شد اون وقت روی جنبه های شی گرایی و فرم و .. کار کنید البته به جای کنسول می تونید در محیط ویندوز فرم اپلیکیشن در richtextbox نتایج را چاپ کنید