Autor Beitrag
h0lla
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 30.08.07 16:22 
Hallo
Hab ein problem bei binärer suche
das programm findet entweder die zahl oder stürzt ab (auch wenn sie vorhanden ist)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
function tSearchnSort.binaerSearch(searchValue: longint): boolean;
var l,r,m: longint;
begin
l:=1;
r:=n;
m:= (l+r) div 2;

  while (l<=r) and (searchValue<>self.SnsArray[m]) do
  begin
    if self.SnsArray[n]<searchValue
    then l:=m+1
    else r:=m-1;

  m:=(l+r) div 2;
  end;
if searchValue=self.SnsArray[m]
then result:=true
else result:=false

end;
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1654
Erhaltene Danke: 244

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Do 30.08.07 19:04 
Hallo,

ist es vielleicht nur ein Tippfehler ?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
while (l<=r) and (searchValue<>self.SnsArray[m]) do
    begin
                    v// wie wäre m statt n ??????
    if self.SnsArray[n]<searchValue  then
                    ^
       l:=m+1
    else
       r:=m-1;
    m:=(l+r) div 2;
    end;



Gruß Horst
h0lla Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 30.08.07 21:51 
wusste dass es nur son kleiner mist ist -.-
danke läuft so super ;)