נתונות הפעולות הבאות: What ו-Secret, ושתי פעולות העזר Why ו-Mystery.
נתונות הפעולות הבאות: What ו-Secret, ושתי פעולות העזר Why ו-Mystery.
public static void Secret(int[] a, int s) {
s %= a.Length;
Mystery(a, 0, a.Length - 1);
Mystery(a, 0, s - 1);
Mystery(a, s, a.Length - 1);
}
public static void Mystery(int[] a, int start, int end) {
int temp;
while (start < end) {
temp = a[start];
a[start] = a[end];
a[end] = temp;
start++;
end--;
}
}
public static void What(int[] a, int d) {
Why(a, d, 0);
}
public static void Why(int[] a, int d, int i) {
if (i < a.Length) {
int j = (i + d) % a.Length;
int rest = a[j];
Why(a, d, i + 1);
a[i] = rest;
}
}
נתון מערך arr של מספרים שלמים:
| אינדקס | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|---|
| ערך | 10 | 3 | 6 | 8 | 2 | 11 | 5 |
סעיף א
עקבו אחרי זימון הפעולה Mystery(arr, 1, 4) ורשמו מה יהיה תוכן המערך אחרי הזימון.
סעיף ב
עקבו אחרי זימון הפעולה Secret(arr, 3) ורשמו מה יהיה תוכן המערך אחרי הזימון.
סעיף ג
מה מבצעת הפעולה Secret(a, d) עבור מערך של מספרים שלמים a ומספר שלם וחיובי d?
סעיף ד
עקבו אחרי זימון הפעולה What(arr, 3) ורשמו מה יהיה תוכן המערך אחרי הזימון.
יש להראות ערכי המשתנים בכל זימון רקורסיבי.
סעיף ה
אחרי זימון הפעולה What(brr, 2) יתקבל המערך brr הזה:
| אינדקס | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| ערך | 10 | 20 | 30 | 40 | 50 | 60 |
מה היה תוכן המערך brr לפני זימון הפעולה?
סעיף ו
מה מבצעת הפעולה What(a, d) עבור מערך של מספרים שלמים a ומספר שלם וחיובי d?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.