נגדיר "פרח" במערך כך:

  • ה"פרח" מורכב מחמישה איברים בתת-מערך בגודל 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)`
(ב)כתבו פעולה המקבלת מערך דו-ממדי של מספרים שלמים arr ומחזירה מערך חד-ממדי הכולל ערכים של כל "לב הפרח" הקיים במערך arr. אם אין אף "פרח" במערך, הפעולה תחזיר null.
כותרת הפעולה:
`public static int[] FlowerHearts(int[,] arr)`
(ג)מהי סיבוכיות זמן הריצה של כל הפעולות שכתבתם? הסבירו את תשובתכם.

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←