עבור לתוכן

תרגיל ב- C# - צריך עזרה

Featured Replies

פורסם

אהלן. ;)

אני ב- י"א... מגביר מחשבים, ולומד C#.

סיימנו חלק של מונה צובר בעיות מינימום מקסימום וכו', והגענו לשאלות מסכמות שכאלה.

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

"יישם אלגוריתם המקבל כקלט מספר שלם n. האלגוריתם יגריל n מספרים שלמים בטווח של 8-10 ויציג כפלט:

א. המספר שהוגרל הכי הרבה פעמים.

ב. ממוצע המספרים.

ג. המספר הגדול ביותר שהוגרל."

עם ב' ו-ג' אין לי בעיה... רק לא הבנתי את הקטע עם "המספר שהוגרל הכי הרבה".

תודה מראש לעוזרים. :xyxthumbs:

שנה טובה,

עודד ב.

פורסם

מה לא הבנת ? כל מספר בין 8 ל 10 הוגרל כמות מסויימת של פעמים. תציג את זה שהוגרל הכי הרבה פעמים מביניהם...

פורסם
  • מחבר

פניתי לפורום תכנות ולא לפוום הבנת הנקרא.

הבנתי מה ביקשו ממני, לא הבנתי איך אני מיישם את זה בתכנית.

פורסם

תחזיק 3 מונים, כל הגרלה תעלה את המונה הרלוונטי, בסוף תבדוק מי המונה הכי גדול.

פורסם

^^

בדיוק.

זה בסה"כ find max רגיל רק שאתה עוקב אחרי שלושה משתנים.

פורסם
  • מחבר

וואוו.. לגמרי לא שמתי לב לקטע שיש פה רק 3 מספרים בסה"כ. :screwy:

תודה :P

פורסם

אז בסוף זה כן היתה בעיה של הבנת הנקרא...

פתרון כללי יותר יהיה לקלוט את הערכים למערך בגודל N, למיין אותו ולספור מי מופיע הכי הרבה פעמים במערך (קל כשהוא ממויין).

פורסם

תלוי בגודל של N ובטווח של המספרים. במקרה הזה אפשר גם להגדיר מערך בגודל 3 ( טווח המספרים שלך ) של מונים, ולקדם כל פעם את המתאים ב 1.

החיפוש לינארי ואין צורך למיין.

פורסם

פשוט תעשה bucket sort זה גם הדרך הכי יעילה למצוא את המקס\מינימום.

תגדיר מערך בגודל טווח הערכים שיש לך, תאפס אותו ותוסיף 1 לתא i כאשר i הוא המספר שהוגרל בטווח הערכים.

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים