דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. תרגיל: עיגול מספר לפי מערך מפתחות

תרגיל: עיגול מספר לפי מערך מפתחות

מתוזמן נעוץ נעול הועבר תכנות
23 פוסטים 5 כותבים 530 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    השיב לקומפיונט ב נערך לאחרונה על ידי dovid
    #21

    @קומפיונט אני נותן רמז, שהפתרון של @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@tchumim.com

    תגובה 1 תגובה אחרונה
    1
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב לdovid ב נערך לאחרונה על ידי
      #22

      @dovid אמר בתרגיל: עיגול מספר לפי מערך מפתחות:

      @קומפיונט אמר בתרגיל: עיגול מספר לפי מערך מפתחות:

      אגב, אפשר לכתוב keys[^1] במקום keys[keys.Length - 1]

      הגיוני בפורום לכתוב באופן שכל אחד יכול לבדוק בלי לציין שמדובר בגריסה מאוד חדשנית.
      בפרט בקוד רעיוני/תרגיל.

      סליחה, בכל מקום שMath.Clamp יעבוד (CORE 2 ומעלה) זה בהכרח C# 7.3 לפחות.

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      קומפיונטק תגובה 1 תגובה אחרונה
      2
      • קומפיונטק מנותק
        קומפיונטק מנותק
        קומפיונט
        השיב לdovid ב נערך לאחרונה על ידי
        #23

        @dovid כתב בתרגיל: עיגול מספר לפי מערך מפתחות:

        סליחה, בכל מקום שMath.Clamp יעבוד (CORE 2 ומעלה) זה בהכרח C# 7.3 לפחות.

        הערת אגב: הפיצ'ר שכתבתי (arr[^1]) לא קיים ב C# 7.3, זה רק מ 9.0 או 8.0.

        תגובה 1 תגובה אחרונה
        2

        • 1
        • 2
        בא תתחבר לדף היומי!
        • התחברות

        • אין לך חשבון עדיין? הרשמה

        • התחברו או הירשמו כדי לחפש.
        • פוסט ראשון
          פוסט אחרון
        0
        • דף הבית
        • קטגוריות
        • פוסטים אחרונים
        • משתמשים
        • חיפוש
        • חוקי הפורום