בי מאסטר (Bmaster)מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
תפריט

חומרי לימוד

מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
חזרה למאגר2022 קיץ מועד א

מערך מושלם - סריקה לפי ערכים

שאלה קודמתשאלה הבאה
שאלה 2יסודות2022 קיץ מועד א

מערך מושלם - סריקה לפי ערכים

"סריקה לפי ערכי התאים" היא סריקת מערך המתחילה באינדקס 0 ועוברת לאינדקס שמספרו זהה לערך התא הנוכחי שנסרק (התא שבאינדקס 0), ומשם ממשיכה לתא הבא באותו אופן, וכן הלאה. אם אחד מערכי התאים הוא 0 והסריקה מגיעה אליו, היא מסתיימת, אחרת הסריקה אינה מסתיימת.

דוגמה: arr: 2, 2, 3, 2, 0 סדר האינדקסים בסריקה זו הוא: 0, 2, 3, 2, 3, ... (הסריקה אינה מסתיימת). הניחו שערכי התאים אינם חורגים מגבולות המערך.

מערך מושלם הוא מערך שבו ב"סריקה לפי ערכי התאים" מתקיימים גם התנאי הראשון וגם התנאי השני שלהלן:

  1. כל התאים של המערך נסרקים.
  2. הסריקה מסתיימת (מפני שבמערך יש תא שערכו 0 והסריקה מגיעה אליו).

דוגמה למערך מושלם: arr: 3, 0, 1, 4, 2 המערך בדוגמה זו הוא מערך מושלם מפני שהסריקה עוברת על כל התאים, ומסתיימת. סדר האינדקסים בסריקה: 0, 3, 4, 2, 1.

דוגמה למערך שאינו מושלם: arr: 1, 2, 5, 1, 3, 4 מערך זה אינו מערך מושלם מפני שהסריקה אינה מסתיימת.

דוגמה נוספת למערך שאינו מושלם: arr: 3, 4, 1, 5, 6, 0, 2 מערך זה אינו מערך מושלם מפני שהסריקה מסתיימת בלי שנסרקו התאים באינדקסים 1, 2, 4, 6.

ממשו את הפעולה הנתונה: Java: public static boolean isPerfect (int[] arr) C#: public static bool IsPerfect (int[] arr) הפעולה תחזיר true אם המערך arr שהתקבל הוא מערך מושלם, אחרת היא תחזיר false. הערה: אין חובה לשמור על ערכי המערך. הניחו שערכי התאים אינם חורגים מגבולות המערך.

שאלה 2יסודות2022 קיץ מועד א

מערך מושלם - סריקה לפי ערכים

"סריקה לפי ערכי התאים" היא סריקת מערך המתחילה באינדקס 0 ועוברת לאינדקס שמספרו זהה לערך התא הנוכחי שנסרק (התא שבאינדקס 0), ומשם ממשיכה לתא הבא באותו אופן, וכן הלאה. אם אחד מערכי התאים הוא 0 והסריקה מגיעה אליו, היא מסתיימת, אחרת הסריקה אינה מסתיימת.

דוגמה: arr: 2, 2, 3, 2, 0 סדר האינדקסים בסריקה זו הוא: 0, 2, 3, 2, 3, ... (הסריקה אינה מסתיימת). הניחו שערכי התאים אינם חורגים מגבולות המערך.

מערך מושלם הוא מערך שבו ב"סריקה לפי ערכי התאים" מתקיימים גם התנאי הראשון וגם התנאי השני שלהלן:

  1. כל התאים של המערך נסרקים.
  2. הסריקה מסתיימת (מפני שבמערך יש תא שערכו 0 והסריקה מגיעה אליו).

דוגמה למערך מושלם: arr: 3, 0, 1, 4, 2 המערך בדוגמה זו הוא מערך מושלם מפני שהסריקה עוברת על כל התאים, ומסתיימת. סדר האינדקסים בסריקה: 0, 3, 4, 2, 1.

דוגמה למערך שאינו מושלם: arr: 1, 2, 5, 1, 3, 4 מערך זה אינו מערך מושלם מפני שהסריקה אינה מסתיימת.

דוגמה נוספת למערך שאינו מושלם: arr: 3, 4, 1, 5, 6, 0, 2 מערך זה אינו מערך מושלם מפני שהסריקה מסתיימת בלי שנסרקו התאים באינדקסים 1, 2, 4, 6.

ממשו את הפעולה הנתונה: Java: public static boolean isPerfect (int[] arr) C#: public static bool IsPerfect (int[] arr) הפעולה תחזיר true אם המערך arr שהתקבל הוא מערך מושלם, אחרת היא תחזיר false. הערה: אין חובה לשמור על ערכי המערך. הניחו שערכי התאים אינם חורגים מגבולות המערך.