אתם מתרגלים שאלה מתוך מה"ט אלגוריתמיקה ותכנות — הנדסאי תוכנהמבחן 2022 · קיץ מועד א · שאלה 14כל שאלות המבחן ←
תכנות בסיסימערכים דו-ממדיים

מערך דו-ממדי 2x2 נקרא "כתם" אם כל האיברים שלו שווים לאותו ערך. הערך הזה נקרא "צבע הכתם".

לדוגמה: במערך הנתון יש ארבעה "כתמים": שני כתמים של 0, כתם עם של 1 וכתם של 3.

c0c1c2c3c4c5c6c7c8
r0138124500
r1200047000
r2338311001
r3333111311

ארבעת ה"כתמים" (בלוקים 2x2 שווי-ערך, מודגשים בטבלה): כתם 0 ב-(r0-r1, c7-c8); כתם 0 שני ב-(r1-r2, c6-c7) — חופף לכתם הראשון בתא היחיד (r1,c7); כתם 3 ב-(r2-r3, c0-c1); כתם 1 ב-(r2-r3, c4-c5). תואם במדויק את התיאור המילולי בעמוד: "שני כתמים של 0, כתם עם של 1 וכתם של 3".

סעיף א

כתבו פעולה המקבלת מערך דו-ממדי של מספרים שלמים וערך value. הפעולה תבדוק אם במערך קיים "כתם" עם ערך value. אם כן – הפעולה תחזיר true, ולא – הפעולה תחזיר false.

סעיף ב

מערך דו-ממדי נקרא "מלוכלך" אם יש בו יותר מ-3 "כתמים" של צבעים שונים. כתבו פעולה המקבלת מערך דו-ממדי של מספרים שלמים חד-ספרתיים (בין 0 ל-9). הפעולה תבדוק אם המערך הוא "מערך מלוכלך". אם כן – הפעולה תחזיר true, ולא – הפעולה תחזיר false.

סעיף ג

מהי הסיבוכיות של הפעולות שכתבתם בסעיפים א' ו-ב'? הסבירו את תשובתכם.

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

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

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

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