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