یک برنامهٔ C++ بنویسید که برای n عدد اعشاری ورودی مقدار تابع هایپربولیک کسینوس (cosh) را با استفاده از std::cosh محاسبه و هر نتیجه را در یک خط با دقت 6 رقم اعشار چاپ کند.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:34 0.0
برای حل این مسئله از هدر و تابع std::cosh استفاده کنید؛ برنامه باید ابتدا n را بخواند، سپس n عدد از ورودی دریافت کرده و برای هر عدد مقدار std::cosh(x) را محاسبه و با std::fixed و std::setprecision(6) چاپ کند (برای setprecision هدر لازم است). از نوع double استفاده کنید و برای کارایی بیشتر در محیطهای HPC میتوانید ios::sync_with_stdio(false) و cin.tie(nullptr) را فعال و از بردار پیشرزرو شده برای ذخیرهسازی استفاده کنید؛ همچنین توجه داشته باشید که برای مقادیر بسیار بزرگ x احتمال سرریز وجود دارد و در صورت نیاز میتوان با long double یا کنترل محدوده از آن جلوگیری کرد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
این نکته را در نظر بگیرید که مقدار cosh(x) به شکل نمایی رشد میکند و برای مقادیر بزرگ x ممکن است با overflow مواجه شوید؛ استفاده از long double یا بررسی محدوده ورودی قبل از محاسبه میتواند کمک کند. همچنین برای بهرهوری در محیط HPC، روشن کردن ios::sync_with_stdio(false) و cin.tie(nullptr) و رزرو vector قبل از استفاده مفید است. فراموش نکنید که به هدرهای <cmath> و <iomanip> نیاز دارید و برای چاپ دقیق با std::fixed و std::setprecision(6) استفاده کنید. بنابراین اگر x منفی باشد باز هم cosh(x) برابر cosh(-x) است، بنابراین میتوانید از std::abs برای کاهش ورودی استفاده کنید تا محاسبه یک مقدار واحد انجام شود.
گزارش