ABA


"צריך עזרה ב++C , מספר לא מוגבל של נקודות float"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21649 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21649
The Slayer 
חבר מתאריך 29.4.03
7959 הודעות, 2 פידבק, 0 נקודות
   20:22   14.04.16   
אל הפורום  
  צריך עזרה ב++C , מספר לא מוגבל של נקודות float  
 
   בהסבר קצר

אני מקבל בכל פעם (מספר לא מוגבל של גודל הקלט) 2 נקודות מסוג float המהוות התחלה וסוף של טווח
יתכן כי הטווח האחרון מוכל באופן מלא או חלקי בתוך הטווח הקודם כך שהטווח החדש הוא כל פעם האיחוד של הטווח המגיע עם הטווח הקודם

לאחר מכן אני צריך לבדוק אם נקודה מסויימת קיימת בטווח

השאלה איך אני בונה את הטווח בכל פעם כך שאין לי הנחה על גודל הקלט
והתוכנית יכולה לפעול לנצח לא ירידת ביצועים

תודה לעוזרים


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  דוגמא לקלט? יוחאי 15.04.16 10:56 1
     הטווח הוא על זמנים המוגדרים כשעות במשתנה float The Slayer  15.04.16 12:32 2
         תן דוגמא ל''חפיפה יותר גדולה'' Mr Andersson 15.04.16 13:52 3
             מה שאתה אומר לא כלכך יעבוד The Slayer  15.04.16 14:06 4
                 אז שוב, צריך לעבור על כל השעות ולדעת לתקן Mr Andersson 15.04.16 14:10 5
                     כבר הכנתי משהו יש קצת באגים במקרים מסויימים The Slayer  15.04.16 14:24 6
  אם זה C++ למה לא לבנות קלאס של RUSH HOUR? spidey1   18.04.16 12:42 7
     בניתי קלאס פשוט החזקתי מערך בתוך הקלאס מה שלא כלכך טוב The Slayer  18.04.16 19:23 8
  תודה לכולם הצלחתי בסוף The Slayer  19.04.16 05:39 9
     חחחחח אני חושב שכולם מבינים למה זאת השעה שכתבת את ההודעה הזאת (: spidey1   19.04.16 10:04 10
         כן נשאבתי לזה קצת :) The Slayer  19.04.16 12:26 11
             אין יותר כיף מלהשאב לקוד עד 4 בבוקר Mr Andersson 19.04.16 12:32 12
                 תיארת כאן את החיים ב4 שנים האחרונות משה הלולן 19.04.16 12:43 13
  מכתב cfirzzz 23.04.16 02:24 14
     תודה לא הכרתי The Slayer  24.04.16 20:48 15

       
יוחאי
חבר מתאריך 30.12.15
163 הודעות, דרג אמינות חבר זה
   10:56   15.04.16   
אל הפורום  
  1. דוגמא לקלט?  
בתגובה להודעה מספר 0
 
   לא כל כך הבנתי

@The Slayer@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Slayer 
חבר מתאריך 29.4.03
7959 הודעות, 2 פידבק, 0 נקודות
   12:32   15.04.16   
אל הפורום  
  2. הטווח הוא על זמנים המוגדרים כשעות במשתנה float  
בתגובה להודעה מספר 1
 
  

בהתחלה מאתחלים את את הנתונים
ואז בודקים אם השעה נמצאת בטווח הזמנים מחזירים אמת אחרת שקר
ואז מוסיפים טווח של זמנים וממשיכים לבדוק

בנתיים בניתי שני מערכים
אחד מסמן התחלות והשני מסמן סוף
כך שבהנתן מיקום אז במערך הראשון אני רואה את התחלה ובמערך השני סוף
דאגתי שהמערכים יסדרו את השעות לפי הסדר לפי הסדר
ואם יש חפיפה "קטנה" בטווח השעות החדש שהגיע כלומר צריך לשנות התחלה או סוף של קטע מסוים ולא להוסיף מיקום
אז זה עובד לי
כמו בדוגמא האחרונה שמוסיפים 8-12 וקיים 7-9 אז במערך יופיע לי 7-12

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

הבעייה העיקרית שלי לפי איך שניסחו לי את זה
Assume that the system will live forever, and performance should not degrade over time.

אני לא יודע אם אני צריך לבצע את זה עם הקצאות זיכרון או שיטה אחרת

כי אם אני מוסיף גם נתונים החיפוש מתפצע על יותר נתונים והביצועים ירדו

תודה
@יוחאי@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Mr Andersson
חבר מתאריך 19.3.02
6234 הודעות, 1 פידבק, -2 נקודות
   13:52   15.04.16   
אל הפורום  
  3. תן דוגמא ל''חפיפה יותר גדולה''  
בתגובה להודעה מספר 2
 
   כשאתה מוסיף טווח חדש, תבדוק אם הוא rushhour ואז תעשה את התיקון הנדרש

http://i60.tinypic.com/35aowg8.jpg


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Slayer 
חבר מתאריך 29.4.03
7959 הודעות, 2 פידבק, 0 נקודות
   14:06   15.04.16   
אל הפורום  
  4. מה שאתה אומר לא כלכך יעבוד  
בתגובה להודעה מספר 3
 
   לדוגמא

1-3

5-7

9-10

אם אני מוסיף 4-8

אז צריך להתעדכן לי ל

1-3

4-8

9-10

לא 4 ולא 8 נמצאים לי ב rushhour

אבל בסדר אני אפתור את זה (נקוה שמהר חחח)

מה אני עושה עם הזיכרון זו השאלה הגדולה

@Mr Andersson@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Mr Andersson
חבר מתאריך 19.3.02
6234 הודעות, 1 פידבק, -2 נקודות
   14:10   15.04.16   
אל הפורום  
  5. אז שוב, צריך לעבור על כל השעות ולדעת לתקן  
בתגובה להודעה מספר 4
 
   עניין של בדיקות עם כמה תנאים, קצת עבודה שחורה

יש לי קורס בC וC++ רק בקיץ אז לצערי אני לא יכול לעזור לך בנושא הזכרון :(

@The Slayer@

http://i60.tinypic.com/35aowg8.jpg


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Slayer 
חבר מתאריך 29.4.03
7959 הודעות, 2 פידבק, 0 נקודות
   14:24   15.04.16   
אל הפורום  
  6. כבר הכנתי משהו יש קצת באגים במקרים מסויימים  
בתגובה להודעה מספר 5
 
   כמו שאתה אמרת
אם רק אחד הזמנים נמצא יש צורך רק לעדכן את הזמן השני ולחתוך מהקטע
אם שני הזמנים נמצאים אז גם פה צריך לבדוק אם אם מוכלים באותו קטע או שיש קטע שמוכל בהם
ועוד כל מיני מקרה קצה

אני האמת עשיתי C לפני כ5 שנים ולא התעסקתי בזה
ו++C בכלל לא התעסקתי

פשוט עכשיו אני צריך להתעסק ב ++C עם OpenCV
אז צריך לרענן וגם ללמוד הרבה לבד


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
spidey1  
חבר מתאריך 1.7.02
25536 הודעות, דרג אמינות חבר זה
   12:42   18.04.16   
אל הפורום  
  7. אם זה C++ למה לא לבנות קלאס של RUSH HOUR?  
בתגובה להודעה מספר 0
 
   לא חובה כמובן...
אבל למה לא לממש קלאס של RUSH HOUR
שמחזיק משתנים של
float start
float end

ואז יש כמה דרכים לפתרון (יש מלא דרכים)

אתה יכול לממש אופרטור השוואה של גודל
כלומר > או <


ואז יש לך 2 תאים לבדוק בכל מקרה
1. אם 2 RUSHHOUR מתחילים באותו הזמן, אז:
2. אם הRUSHHOUR החדש גדול מהישן, אז הישן עף מהSTACK והחדש נכנס פנימה
ולהפך

1. אם RUSHHOUR החדש מתחיל לפני הRUSHHOUR הקודם
אז אם הוא יותר גדול - בוודאות הוא צריך להכנס לSTACK
אם הוא שווה בגודל - אז צריך ליצור אובייקט חדש של RUSHHOUR שההתחלה שלו היא של הRUSHHOUR החדש והסיום שלו הוא הRUSH HOUR הישן
וכן הלאה...

הבנת את הפואנטה

את הכל אתה יכול להחזיק בVECTOR מתוך STL


תכלס, אני לא חושב שזה בהכרח יותר פשוט, או יותר נכון
אבל זה תרגול טוב לC++
גם העמסת אופרטורים, גם עבודה עם STL, גם בניה של קלאס(אם אתה לא זוכר איך)
וכו...


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


Tears Will Get You Sympathy,
Sweat Will Get You Results!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Slayer 
חבר מתאריך 29.4.03
7959 הודעות, 2 פידבק, 0 נקודות
   19:23   18.04.16   
אל הפורום  
  8. בניתי קלאס פשוט החזקתי מערך בתוך הקלאס מה שלא כלכך טוב  
בתגובה להודעה מספר 7
 
   כרגע עברתי לרשימות מקושרות
זה נראה לי מה שהתכוונו וזה גם עובד יותר טוב

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

תודה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Slayer 
חבר מתאריך 29.4.03
7959 הודעות, 2 פידבק, 0 נקודות
   05:39   19.04.16   
אל הפורום  
  9. תודה לכולם הצלחתי בסוף  
בתגובה להודעה מספר 0
 
   אין לי כלכך ידע ב++C אז מחיפושים באינטרנט אפשר להסתדר

בניתי עם רשימות מקושרות
כך שיותר קל להוסיף ולהחסיר נתונים

השתמשתי באמת לפי מה ש Mr Andersson הציע בתגובה 3
ע"י שימוש בפונקציה הפנימית

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

כך שיצאו לי 4 מקרים + 4 מקרי קצה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
spidey1  
חבר מתאריך 1.7.02
25536 הודעות, דרג אמינות חבר זה
   10:04   19.04.16   
אל הפורום  
  10. חחחחח אני חושב שכולם מבינים למה זאת השעה שכתבת את ההודעה הזאת (:  
בתגובה להודעה מספר 9
 
   כולנו היינו (ועדיין) שם

בכל אופן.
מברוק!


Tears Will Get You Sympathy,
Sweat Will Get You Results!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Slayer 
חבר מתאריך 29.4.03
7959 הודעות, 2 פידבק, 0 נקודות
   12:26   19.04.16   
אל הפורום  
  11. כן נשאבתי לזה קצת :)  
בתגובה להודעה מספר 10
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Mr Andersson
חבר מתאריך 19.3.02
6234 הודעות, 1 פידבק, -2 נקודות
   12:32   19.04.16   
אל הפורום  
  12. אין יותר כיף מלהשאב לקוד עד 4 בבוקר  
בתגובה להודעה מספר 11
 
   להתקע על באג, להתעצבן וללכת לישון,
לקום בבוקר ולפתור את זה ב-5 דקות

http://i60.tinypic.com/35aowg8.jpg


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
משה הלולן לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 11.6.13
4818 הודעות, 8 פידבק, 14 נקודות
   12:43   19.04.16   
אל הפורום  
  13. תיארת כאן את החיים ב4 שנים האחרונות  
בתגובה להודעה מספר 12
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
cfirzzz לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.8.02
5060 הודעות, 2 פידבק, 4 נקודות
   02:24   23.04.16   
אל הפורום  
  14. מכתב  
בתגובה להודעה מספר 0
 
   זה שאתה עובר על כל הרשימה כל פעם זה הפתרון הטריוויאלי (וכמובן שתהיה דגרדציה אחרי הרבה אינטרוואלים).
הפתרון האידיאלי פה לדעתי זה לבנות עץ אינטרוואלים
אתה מוזמן לקרוא על זה עוד פה:
https://en.m.wikipedia.org/wiki/Interval_tree

נשלח ע"י הסלולרי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Slayer 
חבר מתאריך 29.4.03
7959 הודעות, 2 פידבק, 0 נקודות
   20:48   24.04.16   
אל הפורום  
  15. תודה לא הכרתי  
בתגובה להודעה מספר 14
 
   באמת הצורה שבניתי זה כמו עץ עם כוון אחד וכנראה פחות יעיל

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


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

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

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



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