یک برنامه C++ بنویسید که تعداد n را از ورودی بخواند، سپس n عدد اعشاری را در یک std::vector ذخیره کند، با استفاده از تابع std::reverse از هدر ترتیب عناصر را معکوس کند و در پایان آرایهٔ معکوسشده را با دقت 6 رقم اعشار چاپ نماید.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:24 0.0
در C++ از برای دسترسی به std::reverse و از برای نگهداری دادهها استفاده کنید؛ std::reverse(begin(v), end(v)) بهصورت درجا و با پیچیدگی زمانی O(n) ترتیب عناصر را معکوس میکند که در محاسبات عددی و برنامههای HPC برای تغییر ترتیب دنبالهها مفید است. برای خواندن/نوشتن سریعتر میتوانید ios::sync_with_stdio(false) و cin.tie(nullptr) را تنظیم کنید و برای چاپ با دقت ثابت از std::fixed و std::setprecision(6) استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از std::reverse(begin(v), end(v)) درجا است و پیچیدگی O(n) دارد، بنابراین ترتیب عناصر بهطور کارا معکوس میشود. برای کارایی ورودی/خروجی از ios::sync_with_stdio(false); cin.tie(nullptr) استفاده کنید و خروجی را با std::fixed و std::setprecision(6) فرمت کنید. اندازهٔ vector را با n از ابتدا رزرو کنید تا از بازتخصیصهای مکرر جلوگیری شود. همچنین بهتر است بررسی کنید که n بهدرستی خوانده میشود و تعداد اعداد ورودی با n مطابقت دارد تا پایداری برنامه حفظ شود.
گزارش