با استفاده از std::set و تابع end() یک تابع در C++ بنویس که در یک بازی سطح‌بندی‌شده، بالاترین امتیاز بازیکن را از مجموعه امتیازات استخراج و چاپ کند.

1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:42

0.0

در C++ از هدر برای نگهداری مجموعه‌ای مرتب از امتیازات استفاده کنید و با بررسی خالی بودن مجموعه از dereference کردن end() جلوگیری کنید. برای دسترسی به آخرین عنصر (بیشترین امتیاز) از std::prev(s.end()) یا --s.end() استفاده کنید؛ هدر برای std::prev قابل استفاده است. نکات: همیشه اول بررسی کنید که set خالی نباشد، از const_iterator برای خواندن استفاده کنید و توجه داشته باشید که end() اشاره‌گرِ یکی پس از آخرین عنصر است و نباید مستقیم آن را دِرفِرنس کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:42
دسته بندی ها: C Plus Plus C Plus Plus for beginner
arman در 221 روز قبل ساعت 12:19

قبل از استخراج بالاترین امتیاز از یک std::set، حتما چک کنید که مجموعه خالی نیست (s.empty()). end() یک اشاره‌گر پس از آخرین عنصر است و نباید به آن دسترسی مستقیم کرد؛ برای خواندن آخرین مقدار از std::prev(s.end()) یا با --s.end() استفاده کنید و از const_iterator برای خواندن استفاده کنید. توجه کنید که std::prev در <iterator> قرار دارد، پس این هدر را اضافه کنید. این کار تضمین می‌کند که به درستی آخرین امتیاز را چاپ کنید حتی وقتی مجموعه دارای یک یا چند المان است.

گزارش

1 پاسخ

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

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