ABA


"אתגר בפסקל... :)"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11719 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11719
meninblack

דרג אמינות חבר זה
   13:29   22.01.05   
אל הפורום  
  אתגר בפסקל... :)  
 
   כתוב תכנית עם מערך של n איברים, הערכים שבמערך נקלטים על ידי המשתמש.
על התכנית למצוא את האיבר השכיח(זה שמופיע הכי הרבה) וכמה פעמים הוא מופיע.
בהצלחה


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  עושים מיון אח''כ רצים על המערך Gold Dragon 22.01.05 14:46 1
  יפה יפה meninblack 22.01.05 15:32 2
  המממ... Dark Megical 26.01.05 19:58 3
     אבל אתה לא יודע אילו מספרים יהיו לך... Gold Dragon 26.01.05 20:16 4
         אם זה מספרים hbk3 26.01.05 20:55 5
             אוקי. ואתה לא חושב שזה קצת(הרבה..)בזבוז מקום?.. Gold Dragon 26.01.05 21:04 6
                 מה אכפת לך? הזכרון של אבא שלך? Boaz_fr 26.01.05 22:24 7
                     מזה Hash table? Gold Dragon 26.01.05 22:27 8
                         הפתרון שלך מצויין Boaz_fr 26.01.05 22:35 9
                             אה הבנתי... ואיך זה היה עוזר במקרה הזה?.. Gold Dragon 26.01.05 22:38 10
                                 לכל שפה נורמלית יש אובקטים של hash table Boaz_fr 26.01.05 23:51 12
  פתרון בC ScOrPiOn-m1  26.01.05 23:46 11
  אתה יכול לעשות מערך שכיחויות מ 1 עד ללונגאינט miarules 04.02.05 22:00 13
  יש לי דרך יותר פשוטה booskila 05.02.05 10:22 14

       
Gold Dragon

דרג אמינות חבר זה
   14:46   22.01.05   
אל הפורום  
  1. עושים מיון אח''כ רצים על המערך  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 22.01.05 בשעה 14:46 בברכה, Gold Dragon
 
עובדים עם שני מונים.
בתוך הלולאה הראשונה עם לולאה פנימית כל עוד האיבר שווה לאיבר הבא מגדילים את מונה א' ובסוף בודקים אם מונה א' גדול מב'(בתחילה ב' הוא אפס) אם כן מכניסים לב' את א'.מאפסים את מונה א' וכן הלאה...

לא רשמתי קוד כי אמרת פסקל ואני יודע רק C


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
meninblack

דרג אמינות חבר זה
   15:32   22.01.05   
אל הפורום  
  2. יפה יפה  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dark Megical

דרג אמינות חבר זה
   19:58   26.01.05   
אל הפורום  
  3. המממ...  
בתגובה להודעה מספר 0
 
   אם הקלטים הם מספרים אז הדבר הפשוט לעשות זה לפי הדוגמא הבאה:

אם הקלט למשל הוא 6
אז במערך במקום השישי נוסיף 1
וכך בכל קלט...

לבסוף נעבור עם לולאה על המערך בחיפוש אחר המקסימום
וכשנמצא אותו נרשום את מקומו - שזה בעצם המספר
ואת מה שנמצא בתוך מקום זה...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Gold Dragon

דרג אמינות חבר זה
   20:16   26.01.05   
אל הפורום  
  4. אבל אתה לא יודע אילו מספרים יהיו לך...  
בתגובה להודעה מספר 3
 
   תגדיר מערך בגודל אינסוף?..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
hbk3

דרג אמינות חבר זה
   20:55   26.01.05   
אל הפורום  
  5. אם זה מספרים  
בתגובה להודעה מספר 4
 
   ערכתי לאחרונה בתאריך 26.01.05 בשעה 20:55 בברכה, hbk3
 
הפסקל יכול לקבל רק מספר מספרים מוגבל-
אם אתה מגדיר את תאי המערך מסוג longint (אין יותר גדול מזה)
אז תוכל להגדיר אותו כך:

a:=array}{1..maxlongint} of longint;

המספר maxlongint הוא קבוע שהמהדר מכיר אותו


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Gold Dragon

דרג אמינות חבר זה
   21:04   26.01.05   
אל הפורום  
  6. אוקי. ואתה לא חושב שזה קצת(הרבה..)בזבוז מקום?..  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Boaz_fr

דרג אמינות חבר זה
   22:24   26.01.05   
אל הפורום  
  7. מה אכפת לך? הזכרון של אבא שלך?  
בתגובה להודעה מספר 6
 
   ערכתי לאחרונה בתאריך 26.01.05 בשעה 22:24 בברכה, Boaz_fr
 

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Gold Dragon

דרג אמינות חבר זה
   22:27   26.01.05   
אל הפורום  
  8. מזה Hash table?  
בתגובה להודעה מספר 7
 
   ומה רע בפתרון שלי ? :/


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Boaz_fr

דרג אמינות חבר זה
   22:35   26.01.05   
אל הפורום  
  9. הפתרון שלך מצויין  
בתגובה להודעה מספר 8
 
   ערכתי לאחרונה בתאריך 26.01.05 בשעה 22:35 בברכה, Boaz_fr
 
התכונתי לפיתרון השני...
hash table היא טבלה (שקיימת בכל השפות המודרניות)
אשר מאפשרת לך להחזיק נתון כל שהוא מספר, מחרוזת, אוביקט ובו'
כאשר ישנה פונקציה שמפלחת את הנתונים לסוגים שונים וכך מקילה את החיפוש אחריהם.

עיין CMap בMFC


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Gold Dragon

דרג אמינות חבר זה
   22:38   26.01.05   
אל הפורום  
  10. אה הבנתי... ואיך זה היה עוזר במקרה הזה?..  
בתגובה להודעה מספר 9
 
   ערכתי לאחרונה בתאריך 26.01.05 בשעה 22:40 בברכה, Gold Dragon
 
שהיית מאתחל את הכל נגיד בתוים ובפעם הראשונה שהיה מתגלה מספר במקום מסויים התא היה מתעדכן לאחד ואח"כ כל פעם גדל ב-1 מן הסתם.ובסוף יעשה פילוח רק לפי מספרים?..

ד"א איך עושים דבר כזה בסי?.. בעזרת union או שזה לא קשור?

ולא הבנתי את השורה הזאת בכלל חחח "עיין CMap בMFC"


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Boaz_fr

דרג אמינות חבר זה
   23:51   26.01.05   
אל הפורום  
  12. לכל שפה נורמלית יש אובקטים של hash table  
בתגובה להודעה מספר 10
 
   בMFC זה נקרא CMap
אתה יכול להזיק מפתח וערך
ז"א משה בסגנון

1 -> 5
2 -> 3
3 -> 2
7 -> 12
9 -> 2
10 -> 3

יותר יעיל מסתם מערך


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ScOrPiOn-m1 
חבר מתאריך 26.11.10
7 הודעות, דרג אמינות חבר זה
   23:46   26.01.05   
אל הפורום  
  11. פתרון בC  
בתגובה להודעה מספר 0
 
   סורי לא יודע פסקל יודע C
תבקש ממישהו שיתרגם לך אבל הסינטקס דיי דומה

int array,i,j; //the array is initalized
int rare,temp;
int counter=0,countemp=0;
//n is the size of the array
for(i=0;i<n;i++)
{
temp=array;
for(j=0;j<=n;j++)
{
if(array==array)
counter++;
}
if(counter>=countemp)
rare=temp;
countemp=counter;
counter=0;
}
// and then print rare and time it showed countemp
עקרונית זה אמור לעבוד - ואם לא אז באסה אני דיי מסטול


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
miarules

דרג אמינות חבר זה
   22:00   04.02.05   
אל הפורום  
  13. אתה יכול לעשות מערך שכיחויות מ 1 עד ללונגאינט  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 04.02.05 בשעה 22:01 בברכה, miarules
 
ואז לרוץ עליו ולבדוק מה הכי גדול.
 
Begin
For I := 1 to maxlongint do
Inc(b{a{i}});
Max:=a{1};
For i:= 1 to x do
If a{i} > max do
Max := a{i};



{=[


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
booskila

דרג אמינות חבר זה
   10:22   05.02.05   
אל הפורום  
  14. יש לי דרך יותר פשוטה  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 05.02.05 בשעה 10:22 בברכה, booskila
 
לא יודע פסקל ז אני ארשום במילים

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

לא מובן? אני יסביר...

נגיד המשתמש קיבל 6
אז נוסיף אחד לתוך arr2(6)s (להתעלם מה S)
כמובן זה לא באמת 6 אלא זה יבוא כאיזה משתנה שהמשתמש יקלוט לתוכו..

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net