تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: مشکل در روش جستجوی دودویی

  1. #1
    پروفشنال MichaelQwerty's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    روبروی مانیتور کامپیوترم
    پست ها
    770

    13 مشکل در روش جستجوی دودویی

    سلام
    من به برنامه از 1 تا 10 به ترتیب عدد میدم وقتی که میخوام یه عدد مثلا 4 رو جستجو کنه
    پیام میده که تو لیست نیست؟
    عددی که باید جستجو بشه رو آخر کار می گیره
    اینم سورسش:
    Option Explicit
    Option Base 1
    Private Sub Command1_Click()
    Dim a(10) As Integer
    Dim find As Boolean
    Dim high, low, mid1 As Integer
    Dim i As Integer
    Dim value As Integer
    Dim r As String
    List1.Clear
    For i = 1 To 10
    a(i) = InputBox("Enter number" + Str(i), "Input data")
    Next i
    value = InputBox("Enter a number to search:", "Input data")
    low = 1
    high = 10
    find = False
    While low < high And find = False
    mid1 = (high + low) \ 2
    If a(mid1) = value Then
    find = True
    ElseIf value < a(mid1) Then
    high = mid1 - 1
    Else
    low = mid1 + 1
    End If
    Wend
    For i = 1 To 10
    List1.AddItem Str(a(i))
    Next i
    If find Then
    r = MsgBox("The value" + Str(value) + "Exist in list", 68, "Message box")
    Else
    r = MsgBox("The value" + Str(value) + "Not exist in list", vbOKOnly + vbQuestion, "Message box")
    End If

    End Sub
    Private Sub Command2_Click()
    End
    End Sub

  2. #2
    اگه نباشه جاش خالی می مونه mehdibarghi's Avatar
    تاريخ عضويت
    Feb 2008
    پست ها
    275

    پيش فرض

    سلام ؛
    تو حلقه while مشکل داری ؛
    این جوری تغییرش بده
    While low <= high And find = False

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •