פורסם 2005 בספטמבר 1220 שנים אז ככה..יש לי שאלה, ואני לא ממש מחפש קטע תכנית, רק רעיון כללי איך לבצע אותו.השאלה: יש לי מערכת שעות, 5 ימים, כל יום 9 שעות (מערך דו מימדי). בכל שעה יש איזשהו מקצוע..כמובן שהמקצועות חוזרים על עצמם בימים שונים, או אפילו באותו יום. אני אמור למצוא את מספרם של המקצועות הנלמדים (כמה מקצועות באופן כללי יש). כל רעיון שעולה לי בראש הוא מתוסבך מידי....אני רק צריך דרך/שיטה הכי פשוטה לעשות את זה. למישהו יש רעיון? תודה מראש 8)
פורסם 2005 בספטמבר 1220 שנים בשפה נורמלית פתרון פשוט היה להשתמש ב DIRECTORY, בפסקל אתה יכול לעשות מערך רגיל בגודל המקסימלי של מקצועות (5*9?). כל פעם שיש מקצוע חדש אתה מוסיף אותו למערך, אם הוא כבר קיים, אתה לא עושה כלום, בסוף אתה בודק כמה תאים מהמערך מאוישים.
פורסם 2005 בספטמבר 1220 שנים מחבר פתרון שחשבתי עליו אבל נראה לי מתוסבך...כנראה אין ממש ברירה אחרת, אבל זה אומר שכל פעם שאני עובר תא אני צריך לעבור שוב על כל המערך שלי בשביל לוודא שהמקצוע לא נמצא שם באיזה תא קודם כלשהו..איזה סיפור... :-\
פורסם 2005 בספטמבר 1220 שנים מחבר מה אתה חושב על הרעיון הבא: הולכים לתא הראשון במערכת, מוצאים מה המקצוע בו, סופרים אחד (באיזשהו משתנה מונה). עוברים על כל המערכת ושמים בכל מקום שיש את המקצוע הזה X. אח"כ עוברים לתא השני, בודקים אם הוא שונה מ-X..אם כן סופרים במונה אותו, ושוב שמים בכל המקומות במערכת שיש אותו X...ככה עד שעוברים על הכל.זה רעיון טוב או יש בו איזשהו פגם? (בהנחה שהדבר נעשה בפונקציה ואז המערך משתנה זמנית בלבד ולא הופך לטבלת איקסים)
פורסם 2005 בספטמבר 1220 שנים פתרון אפשרי, אך עם מספר בעיות, הראשונה שהוא לא שומר על המידע המקורי (או שהוא צריך לבצע העתק), דבר שני, הפתרון הרבה פחות יעיל (בהנחה שיחסית יש פחות מקצועות מהרשימה הכוללת), בכל מעבר, אתה תצטרך במקום לסרוק מערך קטן ופשוט, את כל המערכת....במילים אחרון, יעבוד, אבל צולע, עדיף לך להשקיע בלבנות ולהבין איך פועל פתרון כמו שלי...
פורסם 2005 בספטמבר 1220 שנים לא הבנתי. אתה רוצה לספור כמה מקצועות יש לך במערכת?נגיד אנגלית, תנך, מתמטיקה אז התוכנית תציג 3 (כמספר המקצועות)?או לספור את מספר השעות הכוללות במערכת (שבשביל זה לא צריך סריקה, אם יש לך 9 שעות ב5 ימים).או לספור את מספר המקצועות כל יום ואם נגיד יש פעמיים אותו מקצוע אז להחשיב אותו כמקצוע אחד.
פורסם 2005 בספטמבר 1220 שנים מחבר לא הבנתי. אתה רוצה לספור כמה מקצועות יש לך במערכת?נגיד אנגלית, תנך, מתמטיקה אז התוכנית תציג 3 (כמספר המקצועות)?או לספור את מספר השעות הכוללות במערכת (שבשביל זה לא צריך סריקה, אם יש לך 9 שעות ב5 ימים).או לספור את מספר המקצועות כל יום ואם נגיד יש פעמיים אותו מקצוע אז להחשיב אותו כמקצוע אחד.לספור כמה מקצועות לומדים בשבוע סה"כ, נגיד אם יש בשבוע 5 שעות מתמטיקה, לספור את זה כמקצוע אחד.
פורסם 2005 בספטמבר 1220 שנים אז כן, מה שIceBreak אמר זה הפתרון האידיאלי לפסקל, כל עוד אתה לא משתמש בפוינטרים (מצביעים).כמובן שאין צורך ליצור מערך חד מימדי בגודל של 45 תאים (9*5), אני לא מאמין שמערכת שעות כל יוםיש לך שעה של מקצוע שונה.אתה יכול "להמר" על גודל של מערך חד מימדי בגודל 15 (ולהניח שזה מספר המירבי של מקצועות בשבוע),כמובן שיכול להיות לך עודף זיכרון ויכול להיות לך חסר זיכרון. (לא נראה לי שמסגרת חינוכית מלמדת 15 מקצועותשונים בשבוע).אם אתה משתמש במצביעים אין לך בעיה של תפיסת זיכרון מיותרת, וגם לא יחסר לך זיכרון (אתה מוגבלעל הזיכרון של המחשב, וזה משו שקשה מאוד שיגביל אותך שלמחשב ממוצע יש 256MB ואתה מתעסק עם בתים).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.