עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

עזרה בתרגיל ב-C++ - מציאת מספר שכיח במערך חד מימדי

Featured Replies

פורסם

שלום,

אני צריך לכתוב תוכנית בשפת C++ למצוא מספר שכיח במערך חד מימדי (ולא דו או תלת) בלבד, ללא פונקציות או רקוסיות.

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

דוגמא: הקלט {2,1,2,3,2,3,12,3,5,1} יתן פלט של 2,3

ניתן להניח שהקלט תקין. כמו -כן אסור לי להשתמש בפלט אינפורמטיבי (למשל: אסור לכתוב "הכנס 10 מספרים שלמים")....

ניסית להשתמש בעוד מערך אך עכשיו אני תקוע..... מישהו יכול לעזור ולתת פיתרון?

פורסם

אתה יודע לעבוד עם מבני נתונים כמו map מה STL?

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

עוד דרך אפשרית היא למיין את המערך (למשל עם bubble sort פשוט) ואז לספור את הרצפים של המספרים ולמצוא את הרצף הכי ארוך אבל אני חושב שהדרך הראשונה תהיה קצרה יותר.

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.