یک برنامه C Plus Plus بنویسید که n جفت مقدار (مقدار_تخمینی، مقدار_واقعی) را از ورودی بخواند و حداقل خطای مطلق (|مقدار_تخمینی - مقدار_واقعی|) را با استفاده از std::min محاسبه و نمایش دهد
2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:24 0.0
برای حل، از بردارها برای نگهداری دادهها و از یک حلقه برای محاسبه خطای مطلق هر جفت استفاده کنید؛ مقدار اولیه حداقل را با std::numeric_limits::infinity() تنظیم کرده و در هر تکرار با std::min (در هدر ) آن را بهروزرسانی کنید. برای دقت عددی از نوع double استفاده کنید و برای کار با دادههای بزرگ حافظه را با reserve مدیریت کنید؛ در محیطهای HPC میتوان حلقهها را با OpenMP موازیسازی کرد و سپس یک کاهش (reduction) برای یافتن مینیمم انجام داد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ کوتاه: برای کارایی حافظه و دقت، از reserve(n) روی بردارها استفاده کنید و از نوع double برای دادهها بهره ببرید. برای مقدار اولیهٔ حداقل از std::numeric_limits<double>::infinity() استفاده کنید تا در مقایسه با هر مقدار نتیجهٔ صحیحی به دست آید. در حلقهٔ محاسبهٔ خطا از std::abs و std::min برای بهروزرسانی مقدار حداقل بهره ببرید و اطمینان حاصل کنید دادهها بهدرستی خوانده میشوند. در محیطهای HPC میتوان حلقهها را با OpenMP موازی کرد و از reduction برای یافتن مینیمم استفاده نمود.
گزارش