تابعی در C++ بنویسید که یک آرایه از زوایا بر حسب درجه دریافت کند و برای هر زاویه مقدار تانژانت را با استفاده از std::tan محاسبه و چاپ کند؛ اگر تانژانت برای زاویه‌ای تعریف‌نشده باشد (مثلاً حدود 90° + k·180°) باید پیام مناسب نمایش داده شود.

8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:45

0.0

برای حل مسئله از هدر و تابع std::tan استفاده کنید؛ ابتدا درجه را به رادیان تبدیل کنید (pi = acos(-1.0); rad = deg * pi / 180.0). قبل از محاسبه تانژانت، مقدار cos(rad) را با تابع std::cos محاسبه کرده و اگر |cos(rad)| کوچک‌تر از یک اپسیلون مانند 1e-12 بود، آن را «تعریف‌نشده» در نظر بگیرید تا از مشکلات عددی در نزدیکی تکینگی جلوگیری شود. برای ورودی‌ها از double و برای ذخیره‌سازی از std::vector استفاده کنید و در صورت نیاز با std::setprecision خروجی را کنترل کنید؛ نکته‌های عملکردی (برای HPC/محاسبات عددی) شامل استفاده از حافظه پیوسته و بهینه‌سازی کامپایلر (-O2) است، اما برای سطح مبتدی رعایت دقت و تبدیل درست واحدها کافی است.

توسط پژوهشگر در 201 روز قبل ساعت 03:45
دسته بندی ها: C Plus Plus C Plus Plus for beginner
sara در 201 روز قبل ساعت 05:21

برای پیاده‌سازی تابع، زاویه‌ها را از درجه به رادیان تبدیل کرده و از pi = acos(-1.0) استفاده کنید. قبل از محاسبه تانژانت، cos(rad) را با std::cos محاسبه کنید و اگر |cos(rad)| < 1e-12 بود، مقدار تانژانت را تعریف‌نشده فرض کرده و پیامی مناسب چاپ کنید. ورودی‌ها را با نوع double و ذخیره‌سازی در std::vector نگه دارید و خروجی را با std::setprecision کنترل کنید. نکته‌های کارایی: استفاده از حافظه پیوسته و -O2 می‌تواند HPC/محاسبات عددی را سرعت بخشد، اما برای مبتدی‌ها تبدیل درست واحدها و کنترل خطا کافی است.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری