یک برنامه C++ بنویسید که یک عدد n و سپس دو آرایه شامل n عدد ممیز شناور را از ورودی بخواند و آرایهای از حداقلهای عنصر بهعنصری دو آرایه (با استفاده از std::min از هدر ) ساخته و چاپ کند.
2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:31 0.0
برای حل، در C++ از vector برای ذخیره آرایهها استفاده کنید و هدر را include نمایید؛ در حلقهای ساده برای هر ایندکس مقدار std::min(a[i], b[i]) را محاسبه کرده و در خروجی ذخیره یا مستقیم چاپ کنید. برای کد خواناتر میتوانید از std::transform همراه با یک لامبدا که std::min را صدا میزند استفاده کنید؛ برای مجموعههای خیلی بزرگ توجه به رزرو حافظه (reserve) و در صورت نیاز بهرهگیری از الگوریتمهای موازی (مثل std::transform با execution policy) برای افزایش کارایی مفید است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای کارایی بهتر، دو آرایه را با reserve پیشبینی کنید و از std::transform با lambda که std::min را فرا میخواند استفاده کنید تا حداقلهای عنصر بهعنصر محاسبه و چاپ شوند. مطمئن شوید هر دو آرایه از یک نوع داده شناور یکسان مانند double هستند تا از تبدیلهای ناخواسته جلوگیری شود. اگر اندازه داده خیلی بزرگ است، میتوانید از اجرای موازی با std::execution::par استفاده کنید تا سرعت اجرا افزایش یابد. برای نگارش خواناتر، میتوانید از حلقه ساده یا از std::copy با ostream_iterator برای چاپ خروجی استفاده کنید.
گزارش