در C# برنامه‌ای بنویسید که فهرستی از قیمت‌های روزانه (double) را گرفته و کوچک‌ترین تغییر مطلق بین دو روز متوالی را با استفاده از Math.Min محاسبه و چاپ کند.

14.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 03:32

0.0

برای حل، آرایه یا List از اعداد اعشاری بگیرید، سپس با یک عبور خطی (O(n)) اختلاف مطلق بین هر جفت مجاور را با Math.Abs محاسبه کنید و مقدار کمینه را با Math.Min به‌روزرسانی کنید (ابتدا min را با double.MaxValue مقداردهی کنید). مراقب باشید برای آرایه‌های خالی یا تک‌عنصری خروجی مناسب تولید کنید؛ این روش در کاربردهای مالی یا محاسبات علمی برای یافتن کوچک‌ترین نوسان مناسب و کارا است. نکته: از مرتب‌سازی اجتناب کنید چون هزینه بالاتری دارد و دقت اعشاری را با double مدیریت کنید.

توسط پژوهشگر در 198 روز قبل ساعت 03:32
دسته بندی ها: C# C# for beginner
sara در 198 روز قبل ساعت 03:33

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

گزارش

1 پاسخ

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

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