"מערך סיסמאות" במערכת ממוחשבת של בנק מסוים הוא מערך מטיפוס שלם בגודל 10 שבו הבנק שומר את עשר הסיסמאות האחרונות של הלקוח (כדי לוודא שהלקוח לא יבחר אותן שוב). הסיסמאות נשמרות לפי הסדר מן החדשה ביותר לישנה ביותר. הסיסמה החדשה ביותר (העדכנית) נמצאת בתא 0 והסיסמה הישנה ביותר נמצאת בתא האחרון במערך. כאשר מתקבלת סיסמה חדשה, הסיסמה הישנה ביותר (הסיסמה שבתא האחרון במערך) נמחקת מן המערך, שאר הסיסמאות זזות ימינה כל אחת לתא שלידה, והסיסמה החדשה מופיעה בתא הראשון (אינדקס 0).
כתבו פעולה בוליאנית חיצונית ששמה getPass בשפת Java או GetPass בשפת C#, המקבלת מערך סיסמאות מלא – arr, וסיסמה – password, מטיפוס שלם.
אם הסיסמה שהתקבלה היא חדשה (כלומר אינה זהה לשום סיסמה שמופיעה במערך), הפעולה תוסיף אותה למערך arr בתא 0 (לאחר הזזת שאר הסיסמאות תא אחד ימינה) ותחזיר true. אחרת, מערך הסיסמאות יישאר ללא שינוי ויוחזר false.
דוגמה: עבור המערך arr שלפניכם ו־300 = password, המערך יישאר ללא שינוי והפעולה תחזיר false
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
arr | 1223 | 134 | 245 | 300 | 111 | 101 | 777 | 900 | 195 | 1234 |
הסבר: הסיסמה 300 כבר מופיעה במערך arr, באינדקס 3.
דוגמה נוספת: עבור אותו המערך ו־8888 = password, הפעולה תחזיר true, והמערך ייראה כך בתום הפעולה:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
arr | 8888 | 1223 | 134 | 245 | 300 | 111 | 101 | 777 | 900 | 195 |
הסבר: הסיסמה 8888 אינה אחת הסיסמאות שכבר מופיעות במערך.
"מערך סיסמאות" במערכת ממוחשבת של בנק מסוים הוא מערך מטיפוס שלם בגודל 10 שבו הבנק שומר את עשר הסיסמאות האחרונות של הלקוח (כדי לוודא שהלקוח לא יבחר אותן שוב). הסיסמאות נשמרות לפי הסדר מן החדשה ביותר לישנה ביותר. הסיסמה החדשה ביותר (העדכנית) נמצאת בתא 0 והסיסמה הישנה ביותר נמצאת בתא האחרון במערך. כאשר מתקבלת סיסמה חדשה, הסיסמה הישנה ביותר (הסיסמה שבתא האחרון במערך) נמחקת מן המערך, שאר הסיסמאות זזות ימינה כל אחת לתא שלידה, והסיסמה החדשה מופיעה בתא הראשון (אינדקס 0).
כתבו פעולה בוליאנית חיצונית ששמה getPass בשפת Java או GetPass בשפת C#, המקבלת מערך סיסמאות מלא – arr, וסיסמה – password, מטיפוס שלם.
אם הסיסמה שהתקבלה היא חדשה (כלומר אינה זהה לשום סיסמה שמופיעה במערך), הפעולה תוסיף אותה למערך arr בתא 0 (לאחר הזזת שאר הסיסמאות תא אחד ימינה) ותחזיר true. אחרת, מערך הסיסמאות יישאר ללא שינוי ויוחזר false.
דוגמה: עבור המערך arr שלפניכם ו־300 = password, המערך יישאר ללא שינוי והפעולה תחזיר false
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
arr | 1223 | 134 | 245 | 300 | 111 | 101 | 777 | 900 | 195 | 1234 |
הסבר: הסיסמה 300 כבר מופיעה במערך arr, באינדקס 3.
דוגמה נוספת: עבור אותו המערך ו־8888 = password, הפעולה תחזיר true, והמערך ייראה כך בתום הפעולה:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
arr | 8888 | 1223 | 134 | 245 | 300 | 111 | 101 | 777 | 900 | 195 |
הסבר: הסיסמה 8888 אינה אחת הסיסמאות שכבר מופיעות במערך.