C++ Math

در C++ برای کارهای ریاضی (Math) کتابخانه‌ها و امکانات مختلفی وجود دارد. مهم‌ترین آن‌ها کتابخانه‌ی <cmath> (در C قدیمی <math.h>) است که مجموعه‌ای از توابع ریاضی استاندارد را در اختیار شما می‌گذارد.

🔢 عملگرهای پایه ریاضی در C++

#include <iostream> using namespace std; int main() { int a = 10, b = 3; cout << a + b << endl; // جمع cout << a - b << endl; // تفریق cout << a * b << endl; // ضرب cout << a / b << endl; // تقسیم (صحیح) cout << a % b << endl; // باقیمانده تقسیم return 0; }

📐 توابع مهم در <cmath>

تابعتوضیحمثال
sqrt(x)جذرsqrt(16) = 4
cbrt(x)ریشه سومcbrt(27) = 3
pow(x, y)توانpow(2, 3) = 8
abs(x)قدرمطلقabs(-5) = 5
fabs(x)قدرمطلق اعشاریfabs(-3.14) = 3.14
ceil(x)گرد به بالاceil(3.2) = 4
floor(x)گرد به پایینfloor(3.8) = 3
round(x)گرد کردنround(3.5) = 4
trunc(x)حذف اعشارtrunc(3.9) = 3
fmod(x, y)باقیمانده اعشاریfmod(5.5, 2) = 1.5
hypot(x, y)√(x² + y²)hypot(3, 4) = 5

📏 توابع مثلثاتی

تمام زاویه‌ها بر حسب رادیان هستند:

تابعتوضیح
sin(x)سینوس
cos(x)کسینوس
tan(x)تانژانت
asin(x)آرک‌سینوس (بر حسب رادیان)
acos(x)آرک‌کسینوس
atan(x)آرک‌تانژانت
atan2(y, x)آرک‌تانژانت با توجه به مختصات (برای محاسبه زاویه در صفحه مختصات)

تبدیل درجه ↔ رادیان

#include <iostream> #include <cmath> using namespace std; int main() { double degree = 90.0; double radian = degree * M_PI / 180.0; // تبدیل درجه به رادیان cout << "sin(90°) = " << sin(radian) << endl; }

🎲 تولید اعداد تصادفی

#include <iostream> #include <cstdlib> // rand, srand #include <ctime> // time using namespace std; int main() { srand(time(0)); // مقداردهی اولیه for(int i = 0; i < 5; i++) { cout << rand() % 100 << endl; // عدد تصادفی بین 0 تا 99 } }