Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Vergleich eines Wertes mit Werten in einem Array

  Alt 17. Nov 2008, 16:11
Ich würde den Wert im Array suchen der am nähesten am gegebenen Wert ist.
Zuerst als nähesten Wert den ersten Wert des Arrays nehmen, dann die restlichen durchlaufen zum prüfen:
Delphi-Quellcode:
var
  res_index: Integer;
  i: Integer;
  diff: Integer;
  tmp: Integer;
begin
  res_index := 0;
  diff := abs(array[0] - your_value);
  for i := 1 to length(array) - 1 do
  begin
    tmp := abs(array[i] - your_value);
    //wenn differenz kleiner bisheriger differenz
    if (tmp < diff) then
    begin
      diff := tmp;
      res_index := i;
      //wenn exakter Wert gefunden wurde
      if (diff = 0) then
      begin
        break;
      end;
    end;
  end;
  showmessage('best value is: ' + inttostr(array[res_index]));
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat