אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — יסודות (שאלון 899371)מבחן 2015 · קיץ מועד א · שאלה 10כל שאלות המבחן ←
תכנות בסיסימערכים דו-ממדיים

נתון מערך דו-ממדי arr מטיפוס שלם שכולו מספרים גדולים או שווים ל-0.

תת-מערך-מספרי של איבר k,j (k מציין שורה, j מציין עמודה) הנמצא במערך, הוא מערך דו-ממדי שגודלו כגודל מערך arr, שהאיבר k,j הוא הפינה השמאלית העליונה שלו, והפינה הימנית התחתונה שלו היא הפינה הימנית התחתונה של המערך (כלומר: משתרע מהשורה k ומהעמודה j ועד סוף המערך, בשתי הכיוונים).

לדוגמה, במערך בגודל 4×5 שלפניך, תת-המערך-המספרי של האיבר 2,2 מסומן באפור (שורות 2-3, עמודות 2-4):

 0  1  2  3  4
 4  6  2  7 23
12 11  5  3 56
 6  8 [7] [9] [2]
 3  9 [18][14][7]

תת-מערך-מספרי זוגי של איבר k,j הוא תת-מערך-מספרי שכל איבריו זוגיים (כולל האיבר k,j עצמו).

טבלת 4×5 עם תת-מערך מסומן באפור בפינה (2,2) עד סוף המערך — טבלת נתונים מודפסת, לא דיאגרמה גרפית.

arr:
0: 4 6 2 7 23
1: 12 11 5 3 56
2: 6 8 [7] [9] [2]
3: 3 9 [18] [14] [7]
סעיף א

כתוב ב-Java או ב-C# פעולה שתקבל: מערך דו-ממדי שלם שכולו מספרים גדולים או שווים ל-0, מספר שלם k המציין שורה במערך, מספר שלם j המציין עמודה במערך. הפעולה תחזיר true אם תת-המערך-המספרי של האיבר k,j הוא תת-מערך-מספרי-זוגי, אחרת תחזיר false.

public static bool IsEvenSubArray(int[][] arr, int k, int j)

סעיף ב

נתון מערך דו-ממדי arr בגודל 285×397, מטיפוס שלם, שכולו מספרים גדולים או שווים ל-0. כתוב ב-Java או ב-C# תכנית שתמנה ותדפיס את מספר האיברים במערך arr שהתת-מערך המספרי שלהם הוא תת-מערך-מספרי-זוגי. עליך להשתמש בפעולה שכתבת בסעיף א.

public static int CountEvenSubArrayElements(int[][] arr)

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי