"סריקה לפי ערכי התאים" היא סריקת מערך המתחילה באינדקס 0 ועוברת לאינדקס שמספרו זהה לערך התא הנוכחי שנסרק (התא שבאינדקס 0), ומשם ממשיכה לתא הבא באותו אופן, וכן הלאה. אם אחד מערכי התאים הוא 0 והסריקה מגיעה אליו, היא מסתיימת, אחרת הסריקה אינה מסתיימת.
דוגמה:
arr: 2, 2, 3, 2, 0
סדר האינדקסים בסריקה זו הוא: 0, 2, 3, 2, 3, ... (הסריקה אינה מסתיימת).
הניחו שערכי התאים אינם חורגים מגבולות המערך.
מערך מושלם הוא מערך שבו ב"סריקה לפי ערכי התאים" מתקיימים גם התנאי הראשון וגם התנאי השני שלהלן:
דוגמה למערך מושלם:
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.
הערה: אין חובה לשמור על ערכי המערך.
הניחו שערכי התאים אינם חורגים מגבולות המערך.
"סריקה לפי ערכי התאים" היא סריקת מערך המתחילה באינדקס 0 ועוברת לאינדקס שמספרו זהה לערך התא הנוכחי שנסרק (התא שבאינדקס 0), ומשם ממשיכה לתא הבא באותו אופן, וכן הלאה. אם אחד מערכי התאים הוא 0 והסריקה מגיעה אליו, היא מסתיימת, אחרת הסריקה אינה מסתיימת.
דוגמה:
arr: 2, 2, 3, 2, 0
סדר האינדקסים בסריקה זו הוא: 0, 2, 3, 2, 3, ... (הסריקה אינה מסתיימת).
הניחו שערכי התאים אינם חורגים מגבולות המערך.
מערך מושלם הוא מערך שבו ב"סריקה לפי ערכי התאים" מתקיימים גם התנאי הראשון וגם התנאי השני שלהלן:
דוגמה למערך מושלם:
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.
הערה: אין חובה לשמור על ערכי המערך.
הניחו שערכי התאים אינם חורגים מגבולות המערך.