תרגיל: עיגול מספר לפי מערך מפתחות
-
@קומפיונט אני נותן רמז, שהפתרון של @Y-Excel-Access מממש את ההבדל עליו דיברתי שיהיה יעיל יותר מהMaxBy.
הנה הקוד של @Y-Excel-Access אבל עם שימוש בMath.Abs:
Public Function Round(ByRef Value As Integer, ByRef Arr() As Integer) As Integer Dim temp As Integer, diff As Integer, fit As Integer diff = 32767 For Each Item In Arr ' Iterate through each element. If Value = Item Then Round = Value Exit Function Else temp = Math.Abs(Value - Item) 'Math.Abs turn minus and plus to plus. If temp < diff Then diff = temp fit = Item End If End If Next Round = fit End Function
-
@dovid אמר בתרגיל: עיגול מספר לפי מערך מפתחות:
@קומפיונט אמר בתרגיל: עיגול מספר לפי מערך מפתחות:
אגב, אפשר לכתוב keys[^1] במקום keys[keys.Length - 1]
הגיוני בפורום לכתוב באופן שכל אחד יכול לבדוק בלי לציין שמדובר בגריסה מאוד חדשנית.
בפרט בקוד רעיוני/תרגיל.סליחה, בכל מקום שMath.Clamp יעבוד (CORE 2 ומעלה) זה בהכרח C# 7.3 לפחות.