با استفاده از ایتراتورها و توابع موجود در هدر در 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 حفظ کنید.

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

با استفاده از ایتراتورهای 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 باعث خوانایی و ایمنی بیشتر کد می‌شود.

گزارش

1 پاسخ

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

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