Thema Datum  Von Nutzer Rating
Antwort
Rot Binäre Suche
24.09.2007 22:00:58 Chris
NotSolved
26.09.2007 02:16:33 jh
NotSolved
26.09.2007 02:21:05 jh
NotSolved
26.09.2007 02:27:40 jh
NotSolved
26.09.2007 09:04:30 Chris
NotSolved
24.10.2012 09:20:31 Gast79116
NotSolved

Ansicht des Beitrags:
Von:
Chris
Datum:
24.09.2007 22:00:58
Views:
4188
Rating: Antwort:
  Ja
Thema:
Binäre Suche
Ich erzeuge 65000 Zeilen mit Zahlen in aufsteigender Reihenfolge:
Code:
Sub ERZEUGE65000()
Dim x As Long
Dim i As Long
Randomize
x = Int(10 * Rnd)
For i = 1 To 65000
Cells(i, 1) = x
x = x + 1 + Int(10 + Rnd)
Next
End Sub

und daraus möchte ich per Binärer Suche eine Zahl finden.
Code:
Function fxSucheBin(x, anfang, ende)
Dim SucheErfolgreich As Boolean
Dim mitte As Integer
SucheErfolgreich = False

While ((SucheErfolgreich = False) & (anfang <= ende))
mitte = anfang + ((ende - anfang) / 2)
If (Cells(1, mitte)) = x Then
SucheErfolgreich = True
fxSucheBin = mitte
Else
If (Cells(1, mitte) < x) Then
fxSucheBin = fxSucheBin(x, 1, (mitte - 1))
Else
fxSucheBin = fxSucheBin(x, (mitte + 1), 65000)
End If
fxSucheBin = 0
End If
Wend
End Function

nur tritt leider ein Fehler auf und ich hab keine Ahnung warum.
Also kann mir bitte jemand helfen?
Danke
mfg
Chris

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Binäre Suche
24.09.2007 22:00:58 Chris
NotSolved
26.09.2007 02:16:33 jh
NotSolved
26.09.2007 02:21:05 jh
NotSolved
26.09.2007 02:27:40 jh
NotSolved
26.09.2007 09:04:30 Chris
NotSolved
24.10.2012 09:20:31 Gast79116
NotSolved