public static void one(int[] a, int start, int stop)
{
if(start < stop)
{
one(a, start+1, stop);
a[start] = a[start] + a[start+1];
}
}
public static void two(int[] a, int start, int stop)
{
if(start < stop)
{
a[start] = a[start] + a[start+1];
two(a, start+1, stop);
}
}
סעיף א-1
לפניך הפעולה one המקבלת מערך של מספרים שלמים, ושני מספרים נוספים:
public static void one(int[] a, int start, int stop)
{
if(start < stop)
{
one(a, start+1, stop);
a[start] = a[start] + a[start+1];
}
}
עקוב אחר זימון one(b, 0, b.length-1) עבור המערך:
| אינדקס | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| b | 30 | 20 | 16 | 3 | 5 | 10 |
וציין מה יהיה תוכן איברי המערך בסיום ביצוע הפעולה.
סעיף א-2
מהי מטרת הפעולה one? בתשובה יש להתייחס למערך שהפעולה מקבלת כפרמטר.
סעיף ב-1
לפניך פעולה אחרת, two, המקבלת מערך של מספרים שלמים, ושני מספרים נוספים:
public static void two(int[] a, int start, int stop)
{
if(start < stop)
{
a[start] = a[start] + a[start+1];
two(a, start+1, stop);
}
}
אחרי זימון two(c, 0, c.length-1) תוכן מערך c הוא:
| אינדקס | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| c | 10 | 15 | 20 | 12 | 8 | 10 |
מה היה תוכן c לפני ביצוע הזימון?
סעיף ב-2
מהי מטרת הפעולה two? בתשובה יש להתייחס למערך שהפעולה מקבלת כפרמטר.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.