با استفاده از ساختار داده std::stack در C++ یک برنامه بنویسید که وضعیت‌های قبلی بازیکن (مثلاً مختصات x و y یا شماره سطح) را ذخیره کند و با دریافت فرمان "undo" آخرین وضعیت را بازگرداند.

8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:45

0.0

از هدر در C++ استفاده کنید و برای نگهداری وضعیت‌ها می‌توانید از std::pair یا یک struct ساده بهره ببرید؛ هنگام هر حرکت جدید وضعیت را با push در پشته قرار دهید و هنگام فرمان "undo" اگر پشته خالی نیست یک pop انجام دهید و وضعیت رویی را به‌عنوان حالت فعلی استفاده کنید. نکات: همیشه یک وضعیت اولیه در پشته قرار دهید تا از خالی بودن جلوگیری شود، از متدهای top(), pop(), push(), empty() و size() استفاده کنید و پیچیدگی هر عملیات را O(1) در نظر بگیرید؛ ورودی را با std::cin و پردازش فرمان‌ها با رشته‌ها مدیریت کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:45
دسته بندی ها: C Plus Plus C Plus Plus for beginner
arash در 201 روز قبل ساعت 05:19

نگران نباشید؛ برای جلوگیری از خالی شدن پشته، همواره یک وضعیت اولیه در پشته قرار دهید و در هر حرکت جدید، وضعیت فعلی را با push ذخیره کنید. وقتی فرمان "undo" می‌گیرید، به‌جای اجرای دوباره محاسبه، فقط از top و pop استفاده کنید تا به سرعت به حالت قبلی برسید. برای نگهداری وضعیت می‌توانید از struct ساده یا std::pair استفاده کنید، و هر دو برابر با O(1) هستند. همچنین مطمئن شوید ورودی‌ها را با std::cin بخوانید و فرمان‌ها را با رشته‌ها مقایسه کنید تا منطق undo درست کار کند.

گزارش

1 پاسخ

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

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