תרגול מדעי המחשב

הסרת ערך ממחסנית

מאתגר Java

המשימה

כתוב פעולה שמקבלת מחסנית של מספרים שלמים וערך x, ומסירה מהמחסנית
את **כל** המופעים של x — כשכל שאר האיברים נשארים בסדר המקורי שלהם.

הפעולה משנה את המחסנית שהתקבלה ואינה מחזירה ערך.

דוגמה:
  [4,7,4,1] (4 בראש), x=4  →  [7,1] (7 בראש)

הנחיות:
• רוקן למחסנית עזר ודלג על האיברים שערכם x.
• אחרי ההעברה הראשונה הסדר בעזר הפוך. העברה שנייה בחזרה מתקנת אותו.
• pop על מחסנית ריקה זורק שגיאת ריצה — בדוק isEmpty לפני.
• אם כל האיברים הוסרו, המחסנית תישאר ריקה. זה תקין.

ממשק מבני הנתונים כבר מצורף למשימה.

```ds:stack
{"title":"לפני — x = 4","items":["1","4","7","4"]}
```

```ds:stack
{"title":"אחרי","items":["1","7"]}
```

קוד הפתיחה

public class Main {

    public static void removeValue(Stack<Integer> st, int x) {
        // כתוב את הפתרון כאן — הסדר של מה שנשאר חייב להישמר
    }

    public static void main(String[] args) {
        Stack<Integer> st = new Stack<Integer>();
        st.push(1);
        st.push(4);
        st.push(7);
        st.push(4);

        System.out.println(st);   // [4,7,4,1]
        removeValue(st, 4);
        System.out.println(st);   // [7,1]

        removeValue(st, 100);
        System.out.println(st);   // [7,1]  — ללא שינוי

        removeValue(st, 7);
        removeValue(st, 1);
        System.out.println(st);   // []
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא הערך הגדול במחסנית
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.