یک برنامهٔ C# بنویسید که از یک آرایهٔ اعداد صحیح برای ذخیرهٔ دادههای ورودی (مثلاً مقادیر حسگر یا ردیف دادهها) استفاده کند و هنگامی که آرایه پر شد با استفاده از Array.Resize ظرفیت آن را دو برابر کرده و در پایان مجموع و میانگین مقادیر را چاپ کند.
30.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 04:21 0.0
برای حل این مسئله یک آرایه با ظرفیت اولیه تعیین کنید و یک شمارنده برای تعداد عناصر واقعی نگهدارید؛ هنگام افزودن عنصر جدید اگر شمارنده به طول آرایه رسید از Array.Resize(ref array, array.Length * 2) استفاده کنید تا ظرفیت افزایش یابد. نکات: از متغیر جدا برای شمارنده استفاده کنید چون Length ظرفیت را نشان میدهد، برای بهینهسازی تعداد تغییر اندازهها ظرفیت را دو برابر کنید تا عملکرد در سناریوهای دادهمحور یا سیستمهای با بار بالا بهتر باشد، و از فضای نام System استفاده کنید (C# و Array.Resize встроенный روش ساده و امن برای کپی و تغییر اندازه آرایههاست).
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی این الگو همواره از یک شمارنده جدا برای تعداد واقعی عناصر استفاده کنید چون Length ظرفیت را نشان میدهد و نه تعداد واردشدهها. هنگام پر شدن آرایه از Array.Resize(ref array, array.Length * 2) برای دوبرابر کردن ظرفیت استفاده کنید تا تغییر اندازهها به حداقل برسد و کارایی بهبود یابد. برای محاسبه مجموع بهتر است از نوع بزرگتری مثل long استفاده کنید تا در صورت مقادیر زیاد سرریز نداشته باشید و میانگین را به صورت double محاسبه کنید. انتخاب ظرفیت اولیه منطقی (مثلاً 8 یا 16) به کاهش تعداد Resizeها کمک میکند.
گزارش