یک برنامهٔ 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 یا کنترل محدوده از آن جلوگیری کرد.

توسط پژوهشگر در 221 روز قبل ساعت 01:34
دسته بندی ها: C Plus Plus C Plus Plus for beginner
nima در 221 روز قبل ساعت 12:47

این نکته را در نظر بگیرید که مقدار 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 برای کاهش ورودی استفاده کنید تا محاسبه یک مقدار واحد انجام شود.

گزارش

1 پاسخ

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

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