یک برنامهٔ C++ بنویسید که با استفاده از std::unordered_map یک سیستم سادهٔ موجودی برای بازی بسازد که نام آیتم‌ها را به تعدادشان نگه دارد و هنگام کاهش شمارش به صفر از متد erase برای حذف کلید استفاده کند.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:18

0.0

در فایل C++ از هدر و استفاده کنید، یک std::unordered_map برای نگهداری نام آیتم و تعداد بسازید و عملگرهای افزودن، حذف (کاهش تعداد) و نمایش را پیاده‌سازی کنید؛ وقتی شمارش آیتم به صفر رسید از متد erase برای حذف کلید استفاده کنید. نکات: برای حذف در حین پیمایش از iterator-based erase یا جمع‌آوری کلیدها برای حذف بعدی استفاده کنید، از ویژگی‌های C++11 مثل حلقهٔ range-based و emplace برای درج بهره ببرید.

توسط پژوهشگر در 202 روز قبل ساعت 02:18
دسته بندی ها: C Plus Plus C Plus Plus for beginner
arman در 202 روز قبل ساعت 10:13

حین حذفِ آیتم‌ها در حالِ پیمایش، بهتر است از erase با بازگشت iterator استفاده کنید یا از جمع‌آوری کلیدها در لیستِ جداگانه و حذفِ بعداً بهره ببرید. استفاده از emplace برای درج‌ها و reserve برای پیش‌فضاسازی اندازهٔ تقریبی نقشه می‌تواند کارایی را بهبود دهد. برای پشتیبانی از استانداردهای C++11 به بالا، این روش‌ها با حلقهٔ range-based و اینترفیس‌های جدید سازگار هستند. این طراحی ساده، با نگه‌داشتن نام آیتم به عنوان کلید و مقدار تعداد به عنوان مقدار، به‌خوبی مدیریت موجودی را نشان می‌دهد.

گزارش

1 پاسخ

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

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