המשימה
כתוב פעולה שמקבלת מצביע לחוליה הראשונה בשרשרת של מספרים שלמים,
ומעלה את הערך של **כל** חוליה ב-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 ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.