با استفاده از ایتراتورها و توابع موجود در هدر در C++، یک بردار از موقعیتهای دوبعدی دشمنان (std::vector<std::pair>) را پیمایش کنید و مرکز جرم (نقطه میانگین مختصات x و y) را محاسبه و چاپ کنید.
6.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:17 0.0
برای حل این مسئله از کانتینر std::vector و ایتراتورهای آن استفاده کنید (یا توابعی مثل std::begin، std::end، std::next، std::distance از هدر )؛ با یک ایتراتور از ابتدا تا انتها پیمایش کرده، مختصات x و y را جمع کنید و سپس بر تعداد عناصر تقسیم کنید. توجه کنید که برای بردار خالی باید خروجی مناسب (مثلاً پیام خطا یا صفر) بدهید و از دسترسی فراتر از انتها جلوگیری کنید. استفاده از auto برای ایتراتورها و تابعهای استاندارد STL (مثلاً ، ) پیشنهاد میشود و دقت عددی را با نوع double حفظ کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
با استفاده از ایتراتورهای std::begin و std::end بردار std::vector<std::pair<double,double>> دشمنان را پیمایش کنید و مقادیر x و y را جداگانه جمع کنید. اگر بردار خالی است، خروجی صفر یا پیغام خطای مناسب بدهید تا از دسترسی خارج از محدوده جلوگیری شود. برای دقت، مقادیر sum_x و sum_y را با double نگه دارید و مرکز جرم را به صورت (sum_x/n، sum_y/n) چاپ کنید (n تعداد عناصر). استفاده از auto برای ایتراتورها و توابع STL مانند std::distance و std::next باعث خوانایی و ایمنی بیشتر کد میشود.
گزارش