ABA


"שאלה קטנה בc++"
גירסת הדפסה        
קבוצות דיון לימודים, מדע ותרבות נושא #21474 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21474
xSk8t3r
חבר מתאריך 26.9.09
1173 הודעות
   12:35   31.07.16   
אל הפורום  
  שאלה קטנה בc++  
 
   ערכתי לאחרונה בתאריך 31.07.16 בשעה 12:38 בברכה, xSk8t3r
 
אני צריך לעשות פונקציה שמקבלת 2 אובייקטים שלכל אחד יש מחרוזת משלו עם צ'ארים, להמיר מספר מספר לאינט ולהחזיר אובייקט חדש עם התוצאה.
עשיתי את זה, אומנם בדרך ממש לא יעילה אבל השאלה שלי היא כזאת
יש לי את התנאי שבודק מי שיותר גדול ולפי זה מי שיותר קטן ירוץ על ה-j ומי שיותר גדול ירוץ על ה-i.
השאלה שלי, חוץ מלהעתיק את הקוד פעמיים לכל תנאי בif, אין דרך יותר קצרה לעשות את זה ?? תודה לעוזרים!!
http://rotter.name/User_files/nor/579dc6ea411ccb04.txt



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

  האשכול     מחבר     תאריך כתיבה     מספר  
  שים בפונקציה את הקטע קוד הזהה ופשוט פרמטר עם i/j .. eliran005  01.08.16 10:25 1
     מחזק,בכללי כאשר יש לך כפל קוד כדאי להפריד את הקוד לפונקציה או אפילו ליצור מחלקה Simple  04.08.16 14:18 4
  תיוג eliran005  01.08.16 10:33 2
  בלי קשר לתשובה כך כלי נחמד שיעזור לך: Crazy Lion  01.08.16 10:35 3
  כמה דברים spidey1   05.08.16 22:11 5
     יש FLAGים מסוימים לקומפילציה שלא מתירים אתחול מערך כמו שציינת Adielb  05.08.16 22:24 6
         מסכים, זה מאוד תלוי במה הוא רוצה לעשות spidey1   06.08.16 22:15 10
     תודה אחי, לגבי המשתנה xSk8t3r 06.08.16 18:55 8
         אבל ברגע שתשלח משתנה מקומי הוא יהרס ביציאה מהפונקציה spidey1   06.08.16 22:14 9
             כן לקח לי תקופה להבין את זה xSk8t3r 07.08.16 00:49 11
                 לפעמים עדיף לך ליצור את האוביקט בMAIN (או בפונקציה העיקרית) spidey1   08.08.16 10:12 12
  קצת באיחור אבל עדיין רלוונטי! תודה רבה חברים !! xSk8t3r 06.08.16 18:53 7

       
eliran005  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 6.6.05
32282 הודעות, 6 פידבק
   10:25   01.08.16   
אל הפורום  
  1. שים בפונקציה את הקטע קוד הזהה ופשוט פרמטר עם i/j ..  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Simple  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 28.1.06
18765 הודעות, 22 פידבק
   14:18   04.08.16   
אל הפורום  
  4. מחזק,בכללי כאשר יש לך כפל קוד כדאי להפריד את הקוד לפונקציה או אפילו ליצור מחלקה  
בתגובה להודעה מספר 1
 
   שתתן לך את השירותים שאתה זקוק להם.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
eliran005  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 6.6.05
32282 הודעות, 6 פידבק
   10:33   01.08.16   
אל הפורום  
  2. תיוג  
בתגובה להודעה מספר 0
 
  

@xSk8t3r@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Crazy Lion  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.7.02
19328 הודעות, 9 פידבק
   10:35   01.08.16   
אל הפורום  
  3. בלי קשר לתשובה כך כלי נחמד שיעזור לך:  
בתגובה להודעה מספר 0
 
   תוכל להדביק את הקוד שלך כאן ולבחור C++ ואז בעצם אתה מקבל משהו כזה:
http://paste.ofcode.org/7wsFDN2xEzgCHqXSwaP7Jk

אנשים יכולים לערוך את זה ולשלוח לך שתסתכל בצורה יותר ברורה לעין.

בהצלחה.

מילוי סקרים בתשלום למי שמעונין ,
משלם בזמן וקל להגיע ליעד :
https://goo.gl/EJh6V2


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
spidey1  
חבר מתאריך 1.7.02
25536 הודעות
   22:11   05.08.16   
אל הפורום  
  5. כמה דברים  
בתגובה להודעה מספר 0
 
   תסגל לעצמך כתיבת קוד קריא.
ובנוסף, אם יש לך אפשרות לצמצם משתנים מיותרים, תשתדל לעשות זאת.
זה עוזר לקוד להיות יותר קריא ומתומצת.

אגב, אם אתה רוצה הערות לגבי שיפור הקוד - ממליץ לך לכתוב בפורום תיכנות.

כך למשל את הקטע הזה:


Zeros = CheckIfZero(b);
if (Zeros == TRUE){ //if a or b's strings are all zeros, the result will be zero.
BigNumber Temp;
return Temp;

יכולת לכתוב אותו ככה:


if (CheckIfZero(b) == TRUE){ //if a or b's strings are all zeros, the result will be zero.
BigNumber Temp;
return Temp; //לא ברור למה אתה מחזיר משתנה מקומי

בנוגע לאיחול ARRAY למשל, במקום הקוד הזה:


int tempstr;

for (int i = 0; i<MaxSTR; i++)
tempstr = 0;

אתה יכול לעשות את זה:


int tempstr= {0};

בהצלחה


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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Adielb  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.6.11
7352 הודעות, 7 פידבק
   22:24   05.08.16   
אל הפורום  
  6. יש FLAGים מסוימים לקומפילציה שלא מתירים אתחול מערך כמו שציינת  
בתגובה להודעה מספר 5
 
   או struct לצורך העניין בצורה של = {0}
ויקפיצו אזהרת קומפילציה (למרות שבפועל זה אכן מאתחל את הכל ל0)
הכי פשוט לייצר איזה מאקרו קטן שכל מה שהוא עושה זה לקרוא ל-memset


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
spidey1  
חבר מתאריך 1.7.02
25536 הודעות
   22:15   06.08.16   
אל הפורום  
  10. מסכים, זה מאוד תלוי במה הוא רוצה לעשות  
בתגובה להודעה מספר 6
 
  


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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
xSk8t3r
חבר מתאריך 26.9.09
1173 הודעות
   18:55   06.08.16   
אל הפורום  
  8. תודה אחי, לגבי המשתנה  
בתגובה להודעה מספר 5
 
   הדרישה הייתה שהפונקציה תחזיר אובייקט, וברגע שאני מכריז עליו אז הדיפולט קונסטקטור מאתחל אותו ישר לגודל מקסימלי עם אפסים..
והאמת לא היה לי מושג שיש לי גישה לפורום תכנות, נתחיל לבקר שם יותר !



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

יכול להיות שאני לא מבין את התוכנית(מודה שלא התעמקתי ועברתי על כולה)
אבל כדי שתבדוק את זה


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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
xSk8t3r
חבר מתאריך 26.9.09
1173 הודעות
   00:49   07.08.16   
אל הפורום  
  11. כן לקח לי תקופה להבין את זה  
בתגובה להודעה מספר 9
 
   חדש עם השפה , בכל מקרה עשיתי השמה של אובייקט אחר בקריאה של הפונקציה ככה שהערך המוחזר קודם כל עובר דרך הקופי קונסטרקטור ורק אחרי זה משוחרר



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
spidey1  
חבר מתאריך 1.7.02
25536 הודעות
   10:12   08.08.16   
אל הפורום  
  12. לפעמים עדיף לך ליצור את האוביקט בMAIN (או בפונקציה העיקרית)  
בתגובה להודעה מספר 11
 
   ולשלוח רפרנס שלו, לשנות אותו בפונקציית עזר ואפילו לא להחזיר כלום...
חבל על היצירה של עוד אובייקט.


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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
xSk8t3r
חבר מתאריך 26.9.09
1173 הודעות
   18:53   06.08.16   
אל הפורום  
  7. קצת באיחור אבל עדיין רלוונטי! תודה רבה חברים !!  
בתגובה להודעה מספר 0
 
  



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

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

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



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