یک برنامه 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 مقدار را معتبرسازی کنید. در محیط‌های سیستمی/مجهز به منابع محدود بهتر است از آرایهٔ با اندازهٔ ثابت برای پنجرهٔ میانگین استفاده کرده و به‌جای تخصیص پویا یا استثناها، در صورت خطا پیام مناسب چاپ کرده و آن نمونه را نادیده بگیرید.

توسط پژوهشگر در 220 روز قبل ساعت 01:53
دسته بندی ها: C Plus Plus C Plus Plus for beginner
nima در 220 روز قبل ساعت 11:39

برای منابع محدود از آرایه‌ای با اندازه ثابت برای پنجرهٔ میانگین استفاده کن تا تخصیص پویا لازم نباشد. قبل از اضافه‌کردن مقدار به میانگین، با std::isfinite بررسی کن و مقدار را با FLT_MAX/FLT_MIN مقایسه کن و تفاوت با FLT_EPSILON را برای تشخیص اختلاف ناچیز در نظر بگیر؛ فراموش نکن که FLT_MIN فقط کوچک‌ترین مقدار مثبت نرمال است و برای مقادیر منفی باید دامنهٔ کامل را در نظر گرفت. در صورت نامعتبر بودن یا سرریز/ناپایدار، پیغام خطا چاپ کن و آن نمونه را نادیده بگیر.

گزارش

1 پاسخ

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

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