הגדרה:
- מסגרת מערך הדו-ממדי מורכבת מתאים הנמצאים בשורה 0, בעמודה 0, בשורה אחרונה ובעמודה אחרונה.
- תא פנימי במערך דו-ממדי הוא איבר שאינו נמצא במסגרת המערך.
- תא פנימי במערך נקרא "פסגה" אם הערך המאוחסן בו גדול מכל הערכים שבשמונת שכניו (כלומר, התאים הסמוכים לו).
לדוגמה:
- התא במיקום (1,1) הוא "פסגה" כיוון שערכו (10) גדול מכל שכניו (המסומנים באפור).
- גם תא במיקום (3,2) הוא "פסגה" (ערכו 21).
- גם תא (1,4) הוא "פסגה".
⚠️ מטריצת הדוגמה מופיעה כתמונה/טבלה ב-PDF ולא ניתנת לשחזור מהימן משכבת הטקסט. הספרות שחולצו (בסדר לא ודאי): 0,3,3,1,2,3,2,6,1,7,10,0,0,3,1,10,21,5,5,2,4,1,10,1,10,10,1,0,1,1,7,5,4,1,1,10,0. יש לשחזר את הרשת מה-PDF (עמוד 10 C# / עמוד 22 Java).
(א)כתבו פעולה המקבלת מערך דו-ממדי של מספרים שלמים arr ושני מספרים שלמים נוספים המציינים מיקום איבר במערך row (שורה) ו-col (עמודה). הפעולה תבדוק אם האיבר במיקום זה `arr[row, col]` הוא "פסגה". אם כן – הפעולה תחזיר true, ואם לא – הפעולה תחזיר false.
כותרת הפעולה:
`public static bool IsPeak(int[,] arr, int row, int col)`
כותרת הפעולה:
`public static bool IsPeak(int[,] arr, int row, int col)`
(ב)כתבו פעולה המקבלת מערך דו-ממדי של מספרים שלמים arr. הפעולה תחזיר מערך חד-ממדי המכיל את הערכים של כל "הפסגות" הקיימות במערך arr. אם אין שום "פסגה" במערך, הפעולה תחזיר null.
כותרת הפעולה:
`public static int[] GetPeaksArray(int[,] arr)`
כותרת הפעולה:
`public static int[] GetPeaksArray(int[,] arr)`
(ג)מהי סיבוכיות זמן הריצה של כל הפעולות שכתבתם? הסבירו את תשובתכם.
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות