یک برنامهٔ کنسولی به زبان C# بنویسید که مقادیر عددی ورودی را تا زمانی که کاربر "end" وارد نکرده در یک آرایه ذخیره کند و هرگاه آرایه پر شد با استفاده از Array.Resize اندازهٔ آن را دو برابر کرده و در پایان میانگین، بیشینه و تعداد عناصر خواندهشده را نمایش دهد.
12.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:59 0.0
برای حل این مسئله در یک برنامهٔ کنسولی C# از یک آرایهٔ اولیه کوچک (مثلاً طول 4) شروع کنید و در حلقهٔ خواندن ورودی هر عدد را پس از تبدیل با double.TryParse در آرایه قرار دهید؛ اگر شمارنده به طول آرایه رسید از Array.Resize(ref arr, arr.Length * 2) برای افزایش ظرفیت استفاده کنید. نکات: Array.Resize کپی عناصر را انجام میدهد پس برای مجموعههای بزرگ دفعات Resize را با شروع از ظرفیت مناسب کاهش دهید، اگر نیاز به کارایی بالاتر باشد از List یا پیش تخصیص حافظه در محیطهای HPC استفاده کنید، و برای ورودیها همیشه تبدیل ایمن و مدیریت خطا (TryParse) را در نظر بگیرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای بهبود کارایی، استفاده از List<double> به جای آرایه و Resize میتواند کُد را سادهتر کند. اگر همچنان از آرایه استفاده میکنید، از یک ظرفیت اولیه مناسب و رشد دوبرابر با Array.Resize بهره بگیرید تا تکرار کپی دادهها کاهش یابد. ورودیها دائماً با double.TryParse بررسی شوند و کلمه 'end' بهطور جداگانه شناسایی شود تا از ثبت مقادیر نامعتبر جلوگیری شود. در پایان، میانگین، بیشینه و تعداد عناصر معتبر خواندهشده را محاسبه و نمایش دهید.
گزارش