یک برنامهٔ ساده در سیشارپ بنویسید که یک آرایهٔ اعداد صحیح را از ورودی میگیرد، با استفاده از Array.Reverse کل آرایه را معکوس کرده و نتیجه را چاپ کند و همچنین نسخهای بنویسید که تنها یک بازهٔ مشخص (با شاخص شروع و طول) از آرایه را معکوس کند.
16.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:15 0.0
برای حل، از فضای نام System و متدهای Console.ReadLine و string.Split برای خواندن و تبدیل ورودی به آرایهٔ int استفاده کنید؛ سپس برای معکوس کردن کل آرایه از Array.Reverse(array) و برای معکوس کردن بازهای از Array.Reverse(array, index, length) بهره ببرید. نکات: پیش از فراخوانی بازهای، محدودهٔ index و length را اعتبارسنجی کنید تا از خطای خارج از محدوده جلوگیری شود؛ این متدها درجا (in-place) عمل میکنند و حافظهٔ اضافی کمی مصرف میکنند که برای کاربردهای Systems Programming یا HPC و همچنین پردازش سریزمانی در Data Science مفید است؛ پیچیدگی زمانی O(n) است و در صورت نیاز میتوانید با حلقهٔ swap دستی یا Enumerable.Reverse جایگزین کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ کوتاه: برای جلوگیری از خطای خارج از محدوده، قبل از فراخوانی Array.Reverse مقدارهای index و length را اعتبارسنجی کنید. از تبدیل ورودی با Console.ReadLine و string.Split استفاده کنید و با TryParse مقدارها را به int تبدیل کنید. این متدها بهصورت درجا عمل میکنند و حافظهٔ اضافی کمی مصرف میکنند که برای سیستمهای با کارایی بالا مفید است. هنگام معکوس کردن بازهای با Array.Reverse(array, index, length)، مطمئن شوید که 0 ≤ index ≤ array.Length و 0 ≤ length ≤ array.Length - index.
گزارش