برنامه‌ای بنویسید که یک عدد 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 را بررسی کنید که مثبت باشد، و برای سازگاری با سیستم‌های تعبیه‌شده از خواندن/نوشتن ساده و کم‌هزینه استفاده کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:53
دسته بندی ها: C Plus Plus C Plus Plus for beginner
sara در 202 روز قبل ساعت 08:12

استفاده از std::make_unique<int[]>(n) برای تخصیص آرایه، کنترل حافظه را به صورت خودکار فراهم می‌کند. برای جلوگیری از overflow در جمع، مقدار کل را در long long نگهداری کنید. مقدار n را فقط اگر مثبت است قبول کنید و کل کد را داخل بلوک try قرار دهید تا std::bad_alloc و سایر استثناها به درستی گزارش شوند. در محیط‌های تعبیه‌شده، استفاده از I/O ساده و کم‌هزینه یا به کارگیری scanf/printf و غیرفعال کردن sync_with_stdio ممکن است کارایی بهتری بدهد.

گزارش

1 پاسخ

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

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