פורסם 2009 באפריל 2616 שנים חברים יש לי בעיה פה בתכנות לפרויקט הבעיה היא כזאת אני מנסה למחוק איבר מסוים מרשימה תוך כדי שיש לי תנאי שצריך לסרוק את כל הרשימה כאילו שהרשימה מתקצרת תוך כדי הפור הפתרון הוא בכיוון של רקורסיה אבל אין לי שמץ של מושג או כיוון איך לעשות את זהpublic void Del(int i) { if(!list2.isEmpty()) { for(int j=0;j<list2.size();j++) { if((list.get(i).p+30==list2.get(j).x && list.get(i).q+30==list2.get(j).y) || (list.get(i).p+30==list2.get(j).a && list.get(i).q+30==list2.get(j).b)) { list2.remove(j); } } } }אם יש לי רשימה של 0-1-2 (מספרי איברים ברשימה)אז בסוף נשאר רק 1תודה לפותרים
פורסם 2009 באפריל 2616 שנים קודם כל, תוסיף עוד קצת פרטים:באיזו שפת תכנות אתה עובד? (תוסיף את זה גם לכותרת)מה זה list ו-list2?מה הפונקציה הזו אמורה לעשות?אני לא בטוח מה בדיוק הכוונה שלך, אבל אם הבנתי נכון, הבעיה היא ש-j מתקדם "מהר מדי" ביחס לרשימה בכל פעם שאתה מוחק איבר.הפתרון בשביל זה הוא לא להשתמש ב-for, אלא להשתמש ב-while, ולקדם את j באופן ידני (כלומר, בכל פעם שאתה מוריד איבר מהרשימה, לא לקדם את j).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.