یک برنامه به زبان 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 قالب‌دهی کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:26
دسته بندی ها: C Plus Plus C Plus Plus for beginner
nima در 201 روز قبل ساعت 06:26

برای ساده‌سازی، رشته ورودی را با جایگزینی ویرگول به فضا تبدیل کنید تا بتوانید با یک stringstream توکن‌ها را استخراج کنید. هر توکن را با std::stof به float تبدیل کنید، به جمع اضافه و شمارش کنید و در پایان میانگین را با std::fixed و std::setprecision نمایش دهید. برای امنیت، استثناهای std::invalid_argument و std::out_of_range را در نظر بگیرید تا ورودی نامعتبر یا مقادیر خیلی بزرگ را مدیریت کنید. همچنین حذف فضاهای اضافی و مدیریت دقیق فرهنگ عددی (locale) می‌تواند از بروز خطاهای اعشاری جلوگیری کند.

گزارش

1 پاسخ

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

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