2 תשובות
את מדברת על רשימה (כאילו node/list) או מערך? בכל מקרה אני מתכנת בג'אוה כך שאני לא כל כך יכול לעזור מבחינת הכתיבה, אם מדובר במערך אז:
הייתי יוצר משתנה ששומר מקום של משתנה, לאחר מכן הייתי יוצר לולאה שרצה על המערך מההתחלה שלו, ברגע שהלולאה מוצאת 0 (בעזרת תנאי), אז את נכנסת ללולאה חדשה שרצה מסוף המערך, הלולאה מחפשת מספר שהוא לא אפס (בעזרת תנאי), במידה והיא מצאה אחד היא מחליפה בין האפס שהלולאה הראשונה מצאה למספר שנמצא בסוף המערך (את יכולה להחליף כי יש לך את המיקומים של המספרים האלו במערך בלולאות) בעזרת המשתנה שיצרנו בהתחלה, לאחר מכן את שוברת את הלולאה השנייה ואם את רוצה לעשות את זה אפילו יותר יעיל את יכולה ליצור משתנה שהוא באורך המערך עבור הלולאה שרצה הפוך וכל פעם שאת מבצעת החלפה את מורידה ממנו את ההפרש של אורך המערך והמיקום של המספר שהוא לא אפס שהלולאה מצאה (ולא את המיקום עצמו כי מדובר במיקום מסוף המערך), כך שכל פעם המערך ירוץ לא מתחילת הסוף אלא מהמקום שיש בו מספר שהוא לא אפס. הייתי גם מוסיף תנאי שאם מיקום הלולאה הראשונה והשנייה זהים (או שאם המיקום של הלולאה הראשונה הוא גדול שווה למיקום של השנייה, יותר נכון לרשום כי יתכן והמערך זו ואז הם לא יהיו שוויום לעולם) אז אפשר לצאת משתי הלולאות, כי במצב כזה בוצעו כבר כל ההחלפות..

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


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