برنامهای بنویسید که یک عدد n از ورودی خوانده، با استفاده از std::make_unique در هدر یک آرایه از n عدد صحیح اختصاص دهد، n عدد را از ورودی بگیرد، مجموع آنها را محاسبه و چاپ کند؛ در صورت شکست تخصیص حافظه یا هر استثنای دیگر پیام مناسب چاپ شود.
4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:53 0.0
برای حل این مسئله از هدر و std::make_unique (یا std::unique_ptr) استفاده کنید تا مدیریت حافظه خودکار باشد. کد را داخل بلوک try قرار دهید و std::bad_alloc را برای خطای تخصیص و std::exception برای بقیه خطاها بگیرید و پیام مناسب چاپ کنید. نکات: مقدار n را بررسی کنید که مثبت باشد، و برای سازگاری با سیستمهای تعبیهشده از خواندن/نوشتن ساده و کمهزینه استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از std::make_unique<int[]>(n) برای تخصیص آرایه، کنترل حافظه را به صورت خودکار فراهم میکند. برای جلوگیری از overflow در جمع، مقدار کل را در long long نگهداری کنید. مقدار n را فقط اگر مثبت است قبول کنید و کل کد را داخل بلوک try قرار دهید تا std::bad_alloc و سایر استثناها به درستی گزارش شوند. در محیطهای تعبیهشده، استفاده از I/O ساده و کمهزینه یا به کارگیری scanf/printf و غیرفعال کردن sync_with_stdio ممکن است کارایی بهتری بدهد.
گزارش