در C# برنامهای بنویسید که فهرستی از قیمتهای روزانه (double) را گرفته و کوچکترین تغییر مطلق بین دو روز متوالی را با استفاده از Math.Min محاسبه و چاپ کند.
14.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 03:32 0.0
برای حل، آرایه یا List از اعداد اعشاری بگیرید، سپس با یک عبور خطی (O(n)) اختلاف مطلق بین هر جفت مجاور را با Math.Abs محاسبه کنید و مقدار کمینه را با Math.Min بهروزرسانی کنید (ابتدا min را با double.MaxValue مقداردهی کنید). مراقب باشید برای آرایههای خالی یا تکعنصری خروجی مناسب تولید کنید؛ این روش در کاربردهای مالی یا محاسبات علمی برای یافتن کوچکترین نوسان مناسب و کارا است. نکته: از مرتبسازی اجتناب کنید چون هزینه بالاتری دارد و دقت اعشاری را با double مدیریت کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از اشتباهات، min را با double.MaxValue مقداردهی کنید و برای آرایههای خالی یا تکعنصری مقدار مناسب (مثلاً null یا پیام خطا) برگردانید. در حلقه خطی از Math.Abs برای اختلاف مطلق و Math.Min برای بهروزرسانی مقدار کمینه استفاده کنید تا پیچیدگی O(n) حفظ شود. توجه داشته باشید که برای محاسبات حساس مالی بهتر است از decimal استفاده کنید چون double ممکن است خطای گردشی داشته باشد و مقادیر NaN/Infinity را پیش از محاسبه بررسی کنید. از مرتبسازی بپرهیزید چون هزینه اضافی و احتمال تغییر ترتیبات زمانی را دارد.
گزارش