یک برنامه به زبان C++ بنویسید که یک رشته شامل اعداد اعشاری جداشده با ویرگول یا فاصله را بخواند، با استفاده از std::stof هر عدد را به float تبدیل کند و مجموع و میانگین آنها را چاپ کند.
6.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:26 0.0
برای حل این مسئله میتوانید رشته ورودی را با استفاده از std::stringstream یا با پیمایش و شکستن بر اساس ویرگول/فاصله به توکنها تقسیم کنید، سپس برای هر توکن از std::stof (برای تبدیل به float، در هدر و با فعال بودن C++11) استفاده کنید و مقادیر را جمع و شمارش کنید تا میانگین را محاسبه نمایید؛ بهعنوان نکته، قبل از تبدیل فضای اضافی را پاک کنید و برای ایمنسازی از گرفتن استثناهای std::invalid_argument و std::out_of_range استفاده کنید و خروجی را با std::fixed و std::setprecision قالبدهی کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای سادهسازی، رشته ورودی را با جایگزینی ویرگول به فضا تبدیل کنید تا بتوانید با یک stringstream توکنها را استخراج کنید. هر توکن را با std::stof به float تبدیل کنید، به جمع اضافه و شمارش کنید و در پایان میانگین را با std::fixed و std::setprecision نمایش دهید. برای امنیت، استثناهای std::invalid_argument و std::out_of_range را در نظر بگیرید تا ورودی نامعتبر یا مقادیر خیلی بزرگ را مدیریت کنید. همچنین حذف فضاهای اضافی و مدیریت دقیق فرهنگ عددی (locale) میتواند از بروز خطاهای اعشاری جلوگیری کند.
گزارش