PDA

View Full Version : سوال: چگونگی حذف عناصر یک آرایه



Reza_Yarahmadi
شنبه 13 تیر 1388, 09:35 صبح
سلام به همه دوستان
همون طور که از عنوان معلومه نیاز دارم توی برنامه از عناصر آرایه تعدادی حذف بشه. چون عناصر آرایه ساختمان (Struct) است نمیتونم از ArrayList استفاده کنم (یا اگر هم میشه من بلد نیستم!!). با این شرایط دوستان چه پیشنهادی میکنند؟

vahid.bz
شنبه 13 تیر 1388, 09:48 صبح
سلام
عنصر آخری رو بنداز توی عنصری که می خوای حذف کنی یکی از تعدادعناصر کم کن.

Reza_Yarahmadi
شنبه 13 تیر 1388, 12:06 عصر
به این سادگی هم نیست!! چون ساختمان(Struct) من خودش از چندتا آرایه تشکیل شده و نمیشه تعداد عناصر هر کدوم رو نگه داشت. من یه چیزی شبیه حذف از ArrayList رو نیاز دارم. یه توضیح در مورد برنامه میدم تا بهتر متوجه بشید:
اول آرایه از طریق اطلاعاتی که توی بانک ذخیره شده پر میشه
بعد به طور تصادفی یکی از عناصر انتخاب میشه
(هر عنصر خودش از چند آرایه تشکیل شده)
از بین عناصر هر آرایه های داخلی بازم بصورت تصادفی یکی انتخاب میشه
حالا من نیاز دارم عناصر انتخابی از آرایه های داخلی رو حذف کنم تا در مراحل بعد دوباره ازشون استفاده نشه.
با توصیفات (که میدونم ناقصه!) اگه دوستان یه مقدار رهنماییم کنید ممنون میشم.

Yasersadegh
شنبه 13 تیر 1388, 12:15 عصر
سلام دوست عزيز
من خيلي متوجه نشدم كه برايه چي اينكارو ميكني ولي خوب يه پيشنهاد دارم برات ببين قابل انجام هست يا نه!!
به نظر من حالا كه از ساختمان استفاده كردي بيا يه فيلد به ساختمانت اضافه كن كه اگر 0 شد يعني اون خونه از آرايه حذف شد و اگر 1 بود يعني قابل استفاده است! هر كدوم رو كه انتخاب كردي براي حذف فقط اون فيلد مورد نظر رو 0 كن!!
هر بار كه يه خونه انتخاب ميشه هم بررسي كن كه ببين قبلا حذف نشده باشه!!
در واقع از حذف منطقي استفاده كن!!:لبخندساده:
موفق باشي:چشمک:

vahid.bz
شنبه 13 تیر 1388, 13:26 عصر
پسشنهاد:
استراکتتو بکن کلاس بهد یه تابع برا جایگزینی(replace) بنویس ویکی برا حذف به کمک جایگزینی که روی اشیای کلاست کار کنه.

Reza_Yarahmadi
شنبه 13 تیر 1388, 13:32 عصر
ممنون از اینکه راهنمایی میکنید
در مورد برنامه باید عرض کنم قراره توی برنامه به دلیل بزرگ بودن فضای جوابها از الگوریتم های هوش استفاده کنم چون از بین این الگوریتمها با ژنتیک راحتتر میتونم کار کنم اونو انتخاب کردم. دلیل استفاده این مدلی از آرایه فکر کنم معلوم باشه دیگه!! :چشمک:
چیزی که شما میگید یعنی صرف زمان واسه تشخیص و انتخاب خونه هایی که انتخاب نشدن. من قبلا به جای آرایه و ساختمان از بانک استفاده میکردم ولی چون تعداد مراجعه به بانک خیلی زیاده زمان اجرا خیلی بالا میره. الان دنبال یه روشی میگردم که وقتی واسه پیدا کردن عناصر تصادفی زمان صرف نکنم.
به راهنمایی همه دوستان نیازمندم!!!

mdtafakori
یک شنبه 07 دی 1393, 21:00 عصر
سلام
عنصر آخری رو بنداز توی عنصری که می خوای حذف کنی یکی از تعدادعناصر کم کن.
پاسخ شما به من کمک کرد