עבור לתוכן

מציאת 5 מספרים גבוהים במערך C#

Featured Replies

פורסם

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

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

:s05:

פורסם

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

הדרך הכי פשוטה להבנה, אם מותר לך לשנות את ערכי המערך או שלא אכפת לך מיעילות ואתה לא עובד עם המערך המקורי

אז אחרי שמצאת את הערך הכי גבוה תאפס אותו, ותריץ את הבדיקה שוב X4

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

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

ולרשום במקום ה I מודול 5 את המספר המקסימלי ומיקום שלו במערך...

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

אבל אם אתה צריך רק להדפיס את 5 הערכים לפי הסדר השיטה הזאת תהיה הרבה יותר יעילה

קיצר זה מה שאני זוכר מהבית ספר שלי ...

פורסם

יש את האופציה הנוספת, שהיא למיין את כל המערך, ואז לשלוף את 5 האיברים הראשונים במערך הממוין.

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

ארכיון

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

דיונים חדשים