Hallo!!
Wir haben in unserem Informatik-Unterricht gerade das Thema Array. Das haben wir Namen, Vornamen, Alter, usw. von Schülern gefüllt, die wir dann alphabetisch sortiert haben. Jetzt sollen wir ein Suchprogramm erstellen, bei dem wir den Namen suchen können und uns dir restlichen Angaben liefert. Bis zum Sortieren bin ich gekommen.
Unser Lehrer hat uns so ein Blatt mit "Iterative und rekursrive Mglkeiten von Binäre Suche" gegeben, das aber nich funktioniert...
Könnte mir jemand mal ein Beispielprogramm bitte geben mit einem Array gefüllt mit Zahlen und mann kann dann sagen, wo die Zahl ist...wenns möglich ist, auch ein Suchprogramm für das Studentenprogramm...
MfG,
Hansebanger
P.S.: Hier die zwei SUchmöglichkeiten
Das wäre iterativ:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| function binsearch(k:integer):integer; var m,l,r:integer; begin l:=1; r:=10; repeat m:=(l+r)div 2; if k< semester[i].name then r:=m-1 else l:=m+1 until (k=semester[i].name or (l>r); if k= semester[i].name then binsearch:=m else binsearch:=0 end;
und das rekursiv: procedure binsearch (l,r,k:integer); var m:integer; begin m:=(l+r) div 2; if m=1 then label1.caption:='Ferdisch' else begin if k < semester[i].name then binsearch(l,m,k) else if k>semester[i].name then binsearch (m,r,k) else label1.caption:='Fisch'; end; end; |
Moderiert von
Narses: Delphi-Tags hinzugefügt