یک برنامه 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) استفاده کنید.

توسط پژوهشگر در 220 روز قبل ساعت 02:24
دسته بندی ها: C Plus Plus C Plus Plus for beginner
arman در 220 روز قبل ساعت 09:48

استفاده از 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 مطابقت دارد تا پایداری برنامه حفظ شود.

گزارش

1 پاسخ

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

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