פונקציות מתמטיות ב-CPP

מוקס

New member
פונקציות מתמטיות ב-CPP

ניסיתי למצוא את הפונ´ הנ"ל ב-MSDN, אבל לא ממש הצלחתי להגיע אליהן, אם תוכלו לעזור זה יהיה אחלה... >> אני זקוק לפונ´ שמבצעת עיגול מספרים [כלומר הופכת 19.5 ל-20 -19.1 ל-19], ב-VB היא נקראת [מן הסתם] ROUND. >> עוד פונ´ שאני מחפש היא פונק´ שהופכת מרדיאנים למעלות [אני משתמש בפונק´ SIN COS ו-TAN והתוצאה חוזרת ברדיאנים. אני יודע שניתן להכפיל ב-180 ולחלק בפאי, אבל אני לא רוצה לתת את הפאי ידנית] המון תודה!
 

IdanR

New member
עיגול מספרים

לא צריך שום פונקציה כדי לעגל מספרים, כל שעלייך לעשות הוא להשתמש ב typecast פשוט שימיר את המספר למספר שלם. לדוגמה: float x = 5.5 x = (int)x כמובן שישנה בעייה - זה לא באמת יעגל את המספרים, אלא רק "יעלים" את החלק העשרוני שלהם. אתה יכול כמובן לכתוב פונקציה משלך:
int round(float num) { int pnt = num - (int)num; if (pnt >= 0.5) return (int)num+1; else return (int)num; }​
קח לתשומת ליבך, קוד זה אינו בדוק
 

ליאור ב

New member
מקרה פרטי.

זהו מקרה פרטי ולא עובד באופן כללי. נסה לעגל ל-5. 26 יעוגל ל-25. נסה לעגל ל-10. 23 יעוגל ל-20.
float roundTo(float number, float roundTo) { float f1 = 23.44; //f2 is number to round to float f2 = 5; float rest = f1%f2; float result = f1-rest; return result; }​
קוד לא בדוק, אבל הרעיון הוא כזה. ליאור.
 

sadov

New member
פונקציות מתמטיות

כדי לשתמש ב ++C פונקציות מתמטיות צריך את ספרית <cmath> כדי לעגל מספר אין צורך בפונקציה מספיק מקרו פשוט שמוסיף 0.5 למספר הנתון ואת התוצאה תקבל לתוך משתנה מסוג int עם ה casting המתאים
 
למעלה