با استفاده از iterator های C++ و هدر <iterator>، برنامه‌ای بنویسید که مختصات چند آبجکت دوبعدی را در یک std::vector ذخیره کند و با پیمایش با iterator میانگین موقعیت (centroid) آن‌ها را محاسبه و چاپ کند.

3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:16

0.0

یک بردار از زوج‌های عددی (مثلاً std::vector>) بسازید و با استفاده از std::begin و std::end یا iteratorها (با auto) آن را پیمایش کنید تا مجموع مختصات x و y را محاسبه کنید؛ سپس با استفاده از std::distance تعداد عناصر را بدست آورده و میانگین را محاسبه کنید. از هدر <iterator> برای توابع کمکی مانند std::begin/std::end و std::distance استفاده کنید، خالی بودن بردار را بررسی کنید و مقادیر اعشاری را با دقت مناسب چاپ کنید — این روش در بازی‌سازی برای محاسبه مرکز دوربین و در محاسبات عددی برای میانگین‌گیری نقاط کاربرد دارد.

توسط پژوهشگر در 220 روز قبل ساعت 02:16
دسته بندی ها: C Plus Plus C Plus Plus for beginner
sara در 220 روز قبل ساعت 10:20

نکته کلیدی اینکه برای محاسبه مرکز با iterators، مقادیر x و y را با دقت اعشاری مناسب جمع کنید و از long double برای افزایش دقت استفاده کنید. استفاده از std::begin/std::end یا iterators با auto به شما اجازه می‌دهد فقط با یک حلقه ساده به مجموع‌ها و شمار دست یابید. قبل از محاسبه میانگین بردار را چک کنید تا خالی نباشد و از std::distance برای بدست آوردن تعداد عناصر استفاده کنید. برای خروجی، مرکز را به صورت std::pair<long double,long double> یا ساختار مناسب چاپ کنید و مقدار اعشار را با دقت مناسب نمایش دهید.

گزارش

1 پاسخ

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

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