
15-07-2007, 04:02
|
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,778
|
|
1. יוצרים מערך של 3x5
2. קולטים נתון על כל עובד בכל אחת מחמשת השורות של המערך
3. מגדירים משתנה עבור המשכורת הגבוהה ביותר (מאתחלים ל 0), משתנה עבור המשכורת הנמוכה ביותר (מאתחלים אותו לערך המקסימום האפשרי של סוג המשתנה), ומשתנה נוסף שיכלול את סך המשכורות (מאתחלים אותו ל 0)
4. יוצרים לולאה שרצה חמש פעמים. בכל ריצה עושים את הדברים הבאים:
א. בודקים את ערך השכר מהשורה שהאינדקס שלה הוא כאינדקס הלולאה. אם הערך קטן מהערך של המשתנה שמכיל את המשכורת הנמוכה ביותר, מעדכנים את המשתנה הזה לערך שקיבלנו.
ב. עבור אותו ערך בודקים אם הוא גדול מהמשתנה שמכיל את המשכורת הגבוהה ביותר, ואם כן, מעדכנים את המשתנה הזה לערך שקיבלנו.
ג. מציבים למשתנה שסוכם לנו את המשכורות את ערכו הנוכחי פלוס הערך שקיבלנו
5. בסיום הריצה, יהיו לנו שלושת הנתונים הבאים: מה המשכורת הגבוהה ביותר, מה הנמוכה ביותר, ומה סך המשכורות של כולם. נוכל להדפיס מיד את הערך של המשתנה האחרון חלקי 5 כדי להציג את המשכורת הממוצעת.
6. נרוץ שוב בלולאה של 5 פעמים ונשווה את כל אחד מערכי המקסימום והמינימום של השכר שלנו לכל שורה - ואם יש התאמה, נדפיס: ת.ז. שם מלא מקבל משכורת מקסימלית/מינימלית של X ש"ח בהתאם לתנאי שהתקיים
זהו נראה לי
בטח יש דרך יותר יעילה, אבל כבר 4 בבוקר ואני ממש עייף 
נ.ב. הפלט עשוי להיות בעייתי משהו באם תהיינה תופעות כמו - משכורת מקסימלית ו/או מינימלית שיש ליותר מעובד אחד - אבל מצד שני - לא הוגדר בשאלה מה אמורים לעשות במקרה כזה...
נ.ב.2. כן, לא כתבתי קוד (לא ממש זוכר את השפה...) אבל אני מקווה שאלגוריתם יספיק...
|