Einzelnen Beitrag anzeigen

Foxi1896

Registriert seit: 5. Jun 2013
54 Beiträge
 
FreePascal / Lazarus
 
#32

AW: aus einem Array die kleinste Zahl herausfinden

  Alt 8. Jul 2013, 13:58
Hatte es ja auch ... nur mein Betreuer möchte es mit den Edits haben.



Das hier ist schon fast so wie ich es haben möchte nur die Werte wo es wieder von vorne anfängt sind Falsch.

Habe es mit 5 , 8 , 14 , 3 , 8 , 10 , 16 , 20 getestet.
Raus kommt: 3 , 8 , 10 , 16 , 20 , 8,50548.. , 3,531622 , 1,370997...
Was macht er mit den Werten?


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var zahl : array[1..8] of real;
  i,merker : Integer;
  min : Real;

begin
  zahl[1] := StrToFloat(Edit1.Text);
  zahl[2] := StrToFloat(Edit2.Text);
  zahl[3] := StrToFloat(Edit3.Text);
  zahl[4] := StrToFloat(Edit4.Text);
  zahl[5] := StrToFloat(Edit5.Text);
  zahl[6] := StrToFloat(Edit6.Text);
  zahl[7] := StrToFloat(Edit7.Text);
  zahl[8] := StrToFloat(Edit8.Text);

  min:=1000;
  for i:= 1 to 8 do
  begin
    if zahl[i] < min then
    begin
      min:=zahl[i];
      merker:=i;
    end;
  end;
  label1.caption:=FloatToStr(min);
  label2.caption:=IntToStr(merker);

  Edit1.Text := FloatToStr(zahl[merker+0]);
  Edit2.Text := FloatToStr(zahl[merker+1]);
  Edit3.Text := FloatToStr(zahl[merker+2]);
  Edit4.Text := FloatToStr(zahl[merker+3]);
  Edit5.Text := FloatToStr(zahl[merker+4]);
  Edit6.Text := FloatToStr(zahl[merker+5]);
  Edit7.Text := FloatToStr(zahl[merker+6]);
  Edit8.Text := FloatToStr(zahl[merker+7]);


end;


EDIT: Hab den Fehler nur keine Lösung: ich zähle ja immer weiter mit +5 +6 +7 ... aber wie mach ich es das es wieder von vorne anfängt?

Geändert von Foxi1896 ( 8. Jul 2013 um 14:00 Uhr)
  Mit Zitat antworten Zitat