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

ספירת איברים בתור

בינוני C#

המשימה

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

דוגמה:
  תור [1,2,3] (1 בראש)  →  3, והתור נשאר [1,2,3]

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

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

```ds:queue
{"title":"התור שבדוגמה — front משמאל, rear מימין","items":["1","2","3"]}
```

קוד הפתיחה

using System;

class Program {

    static int CountQueue(Queue<int> q) {
        // כתוב את הפתרון כאן — התור חייב לחזור למצבו המקורי
        return 0;
    }

    static void Main() {
        Queue<int> q = new Queue<int>();
        q.Insert(1);
        q.Insert(2);
        q.Insert(3);

        Console.WriteLine(q);              // [1,2,3]
        Console.WriteLine(CountQueue(q));  // 3
        Console.WriteLine(q);              // [1,2,3]  — ללא שינוי

        Console.WriteLine(CountQueue(new Queue<int>()));  // 0
    }
}

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

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