הגדרה: מערך נקרא "מערך ממוין בסדר יורד" אם כל איבר (פרט לאיבר הראשון) קטן מהאיבר הקודם לו או שווה לו.
הגדרה: מערך נקרא "מערך ממוין בסדר יורד" אם כל איבר (פרט לאיבר הראשון) קטן מהאיבר הקודם לו או שווה לו.
נתונה הפעולה Secret המקבלת מערך מספרים שלמים ממוין בסדר יורד ומספר שלם נוסף.
public static bool Secret(int[] arr, int num)
{
int i = 0;
int j = arr.length-1;
int s;
while(i < j)
{
s = arr[i] + arr[j];
if(s > num)
{
i++;
}
else
{
if(s < num)
{
j--;
}
else
{
return true;
}
}
}
return false;
}
סעיף א
נתון המערך int[] arr={20, 16, 9, 4, 2}
- עקבו בעזרת טבלת מעקב אחר הזימון
Secret(arr, 12), ורשמו מה תחזיר הפעולה. - תנו דוגמה לפרמטר num כך שזימון
Secret(arr, num)יחזיר תוצאה שונה מהתוצאה שהתקבלה בסעיף א.1 שימו לב: אין לשנות את המערך arr!
סעיף ב
מה מבצעת הפעולה Secret באופן כללי?
סעיף ג
האם ההנחה שמערך arr ממוין בסדר יורד היא הכרחית לביצוע תקין של הפעולה Secret? אם לא – תסבירו למה דרישה זו מיותרת, ואם כן – כתבו פעולה חדשה המבצעת את אותה המשימה עבור כל מערך של מספרים שלמים (גם ממוין וגם לא ממוין).
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.