با استفاده از هدر در C++ برنامهای بنویسید که یک std::vector از مقادیر شبیهسازی (مثل سرعت یا نتایج عددی) را با استفاده از std::istream_iterator از ورودی بخواند و سپس با استفاده از std::reverse_iterator میانگین آخر n مقدار را محاسبه و چاپ کند.
23.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 04:23 0.0
برای حل این مسئله از هدرهای ، و استفاده کنید: با std::istream_iterator مقادیر را از std::cin گرفته و به وکتور با std::back_inserter اضافه کنید، سپس با std::reverse_iterator انتهای وکتور را پیمایش کنید و n مقدار آخر را انتخاب کنید و با std::accumulate میانگین آنها را محاسبه کنید. نکات: ابتدا کنترل کنید n از اندازه وکتور بزرگتر نباشد، از std::next یا محاسبات اندیسی برای گرفتن محدوده مناسب استفاده کنید و ورودیهای غیرعدد را مدیریت یا نادیده بگیرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای این برنامه هدرهای <vector>, <iterator>, <numeric>, <algorithm> و <iostream> را وارد کنید و با std::istream_iterator<double> بههمراه std::back_inserter مقادیر را در یک std::vector ذخیره کنید. دقت کنید که ورودیهای غیرعددی با عملگر >> باعث ست شدن failbit میشوند، پس برای نادیده گرفتن آنها میتوانید رشته بخوانید و با std::stod تبدیل کنید یا پس از خطا std::cin.clear() و حذف توکن نامعتبر را انجام دهید. قبل از محاسبه میانگین، بررسی کنید n از اندازه وکتور بزرگتر نباشد (و n برابر صفر نباشد)، سپس با محاسبه iterator شروع به صورت v.end() - n یا استفاده از std::next برای ساخت نقطه شروع و با std::accumulate مجموع را محاسبه کنید. در نهایت مجموع را بر n تقسیم کرده و نتیجه را چاپ کنید و برای مقادیر بسیار بزرگ یا NaN/inf نیز بررسیهای لازم را انجام دهید.
گزارش