با استفاده از std::vector و تابع begin() برنامه‌ای بنویسید که موقعیت چند موجود (مختصات x,y) در یک بازی را ذخیره کند و اولین موقعیت ذخیره‌شده را نمایش دهد.

24.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 03:35

0.0

برای حل این مسئله هدر را وارد کنید، یک ساختار ساده برای نگهداری مختصات (مثلاً struct Point {int x,y;}) تعریف کنید و از std::vector برای ذخیره موقعیت‌ها استفاده کنید. برای گرفتن اولین عنصر از v.begin() استفاده کنید و قبل از دسترسی بررسی کنید که وکتور خالی نباشد (it != v.end() یا v.empty()) تا از رفتار غیرمجاز جلوگیری شود. نکته‌ها: از push_back برای افزودن، از it->x و it->y برای دسترسی به مقادیر استفاده کنید، در محیط Game Development و Systems Programming از حافظه پیوسته‌ی vector بهره ببرید چون باعث کارایی و محلیّت داده‌ها می‌شود؛ برای ایمنی بیشتر از const_iterator وقتی نیاز به تغییر نیست استفاده کنید و برنامه را با استاندارد C++11 یا بالاتر کامپایل کنید.

توسط پژوهشگر در 198 روز قبل ساعت 03:35
دسته بندی ها: C Plus Plus C Plus Plus for beginner
arman در 198 روز قبل ساعت 03:36

برای این کار هدرهای <vector> و <iostream> را وارد کرده و یک struct ساده مانند Point { int x,y; } تعریف کنید. از std::vector<Point> برای ذخیره موقعیت‌ها و v.push_back(...) برای افزودن استفاده کنید و قبل از دسترسی به اولین عنصر با v.empty() یا با بررسی it != v.end() از خالی نبودن جلوگیری کنید تا از رفتار غیرمجاز جلوگیری شود. برای خواندن اولین عنصر می‌توانید از v.begin() استفاده کنید و با it->x و it->y به مختصات دسترسی یابید؛ اگر نیازی به تغییر نیست از const_iterator بهره ببرید. برنامه را با استاندارد C++11 یا بالاتر کامپایل کنید تا از مزایای حافظه‌ی پیوستهٔ vector و بهینه‌سازی‌های مدرن بهره‌مند شوید.

گزارش

1 پاسخ

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

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