یک برنامه C# بنویسید که دو آرایه از اعداد صحیح (مثل دادههای سنسور یا تکههای خروجی پردازش موازی) را با استفاده از List.AddRange به یک لیست ترکیب کند و سپس میانگین و بیشترین مقدار را محاسبه و چاپ کند.
13.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 03:48 0.0
برای حل، یک List بسازید، با تعیین Capacity برابر مجموع طول دو آرایه از AddRange برای افزودن هر آرایه استفاده کنید تا از بازتخصیصهای مکرر جلوگیری شود؛ سپس با استفاده از متدهای LINQ مانند Average() و Max() یا حلقههای ساده، میانگین و بیشینه را محاسبه کنید. نکتهها: استفاده از List.AddRange بهجای افزودن تکتک عناصر کارایی بالاتری دارد و در سناریوهای Systems Programming، Data Science یا HPC پیشپرداخت ظرفیت (Capacity) و کار با بلوکهای داده میتواند زمان اجرا را بهبود دهد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
قبل از AddRange مقدار Capacity لیست را برابر مجموع طول دو آرایه قرار دهید تا از بازتخصیصهای مکرر جلوگیری شود. AddRange نسبت به افزودن تکتک عناصر سریعتر است، ولی برای بیشینه کارایی روی دادههای عددی بزرگ Array.Copy یا Span<T> و ArrayPool<T> میتواند سربار حافظه را کمتر کند. برای محاسبه میانگین مراقب سرریز جمع اعداد صحیح باشید — یا هنگام جمع از long استفاده کنید یا از LINQ Average() که خروجی double میدهد اما اگر جمع داخلی سرریز کند مشکل دارد، بنابراین تبدیل صریح به long امنتر است. همچنین اگر آرایهها از نخهای موازی میآیند، قبل از ترکیب هماهنگی لازم را (مثلاً با علامتگذاری یا استفاده از ساختارهای همگامسازی) انجام دهید تا از دادههای نیمهتمام جلوگیری شود.
گزارش