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

שכפול מחסנית

בינוני C#

המשימה

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

בסוף הפעולה המחסנית המקורית חייבת להיות במצבה ההתחלתי.

דוגמה:
  מקורית [5,1,8] (5 בראש)  →  מוחזרת [5,1,8], והמקורית נשארת [5,1,8]

הנחיות:
• כל העברה בין שתי מחסניות הופכת את הסדר. שתי העברות מחזירות אותו.
  ספור כמה העברות אתה צריך כדי ששתי המחסניות יצאו בסדר הנכון.
• השתמש במחסנית עזר אחת. אין צורך במערך ואין צורך ברשימה.
• מחסנית ריקה מחזירה מחסנית ריקה.

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

```ds:stack
{"title":"המקורית — והעותק חייב לצאת זהה לה","items":["8","1","5"]}
```

קוד הפתיחה

using System;

class Program {

    static Stack<int> CopyStack(Stack<int> st) {
        // כתוב את הפתרון כאן — המקורית חייבת לחזור למצבה
        return new Stack<int>();
    }

    static void Main() {
        Stack<int> st = new Stack<int>();
        st.Push(8);
        st.Push(1);
        st.Push(5);

        Stack<int> c = CopyStack(st);

        Console.WriteLine(st);   // [5,1,8]  — ללא שינוי
        Console.WriteLine(c);    // [5,1,8]

        c.Push(99);
        Console.WriteLine(st);   // [5,1,8]  — העותק נפרד

        Console.WriteLine(CopyStack(new Stack<int>()));  // []
    }
}

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

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