یک برنامه C++ بنویسید که مقادیر شناور دمای یک سنسور را از ورودی میگیرد، میانگین متحرک با پنجرهٔ ثابت محاسبه میکند و هر مقدار جدید را با محدودیتهای کتابخانهٔ cfloat (مثلاً FLT_MAX، FLT_MIN و FLT_EPSILON) بررسی کرده و در صورت نامعتبر بودن یا سرریز/ناپایداری، پیغام خطا چاپ کند.
1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:53 0.0
برای حل، از نوع float استفاده کنید و هدر cfloat را برای دسترسی به FLT_MAX، FLT_MIN و FLT_EPSILON وارد برنامه کنید؛ قبل از افزودن مقدار به میانگین متحرک، با std::isfinite (از ) و مقایسه با FLT_MAX/FLT_MIN و بررسی تفاوت با FLT_EPSILON مقدار را معتبرسازی کنید. در محیطهای سیستمی/مجهز به منابع محدود بهتر است از آرایهٔ با اندازهٔ ثابت برای پنجرهٔ میانگین استفاده کرده و بهجای تخصیص پویا یا استثناها، در صورت خطا پیام مناسب چاپ کرده و آن نمونه را نادیده بگیرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای منابع محدود از آرایهای با اندازه ثابت برای پنجرهٔ میانگین استفاده کن تا تخصیص پویا لازم نباشد. قبل از اضافهکردن مقدار به میانگین، با std::isfinite بررسی کن و مقدار را با FLT_MAX/FLT_MIN مقایسه کن و تفاوت با FLT_EPSILON را برای تشخیص اختلاف ناچیز در نظر بگیر؛ فراموش نکن که FLT_MIN فقط کوچکترین مقدار مثبت نرمال است و برای مقادیر منفی باید دامنهٔ کامل را در نظر گرفت. در صورت نامعتبر بودن یا سرریز/ناپایدار، پیغام خطا چاپ کن و آن نمونه را نادیده بگیر.
گزارش