یک برنامهٔ کنسولی به زبان 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) را در نظر بگیرید.

توسط پژوهشگر در 201 روز قبل ساعت 03:59
دسته بندی ها: C# C# for beginner
arash در 201 روز قبل ساعت 04:28

برای بهبود کارایی، استفاده از List<double> به جای آرایه و Resize می‌تواند کُد را ساده‌تر کند. اگر همچنان از آرایه استفاده می‌کنید، از یک ظرفیت اولیه مناسب و رشد دوبرابر با Array.Resize بهره بگیرید تا تکرار کپی داده‌ها کاهش یابد. ورودی‌ها دائماً با double.TryParse بررسی شوند و کلمه 'end' به‌طور جداگانه شناسایی شود تا از ثبت مقادیر نامعتبر جلوگیری شود. در پایان، میانگین، بیشینه و تعداد عناصر معتبر خوانده‌شده را محاسبه و نمایش دهید.

گزارش

1 پاسخ

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

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