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

הגדלת כל הערכים ב-1

קל C#

המשימה

כתוב פעולה שמקבלת מצביע לחוליה הראשונה בשרשרת של מספרים שלמים,
ומעלה את הערך של **כל** חוליה ב-1.

דוגמה:
  4 → 9 → 1 → null   הופך ל-   5 → 10 → 2 → null

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

המחלקה Node כבר מצורפת למשימה.

```ds:list
{"title":"לפני","items":["4","9","1"]}
```

```ds:list
{"title":"אחרי — אותן חוליות, לא שרשרת חדשה","items":["5","10","2"]}
```

קוד הפתיחה

using System;

class Program {

    static void IncrementAll(Node<int> head) {
        // כתוב את הפתרון כאן
    }

    // ── עזר, לא חלק מהמשימה ──────────────────────────────────────────
    static Node<int> Build(int[] v) {
        Node<int> h = null;
        for (int i = v.Length - 1; i >= 0; i--) h = new Node<int>(v[i], h);
        return h;
    }

    static void Print(Node<int> head) {
        Node<int> p = head;
        while (p != null) { Console.Write(p.GetInfo() + " -> "); p = p.GetNext(); }
        Console.WriteLine("null");
    }

    static void Main() {
        Node<int> a = Build(new int[]{4, 9, 1});
        IncrementAll(a);
        Print(a);              // 5 -> 10 -> 2 -> null

        Node<int> b = Build(new int[]{7});
        IncrementAll(b);
        Print(b);              // 8 -> null

        IncrementAll(null);    // בלי שגיאה
    }
}

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

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