Delphi-PRAXiS
Seite 5 von 6   « Erste     345 6      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi aus einem Array die kleinste Zahl herausfinden (https://www.delphipraxis.net/139757-aus-einem-array-die-kleinste-zahl-herausfinden.html)

baumina 8. Jul 2013 13:48

AW: aus einem Array die kleinste Zahl herausfinden
 
Ja, Foxi, das Wichtigste beim Programmieren lernen ist nicht stupide Abtippen, sondern Verstehen. Ich finde es gut, dass du nicht nur die fertige Lösung genommen hast, sondern dich damit befasst hast sie auch zu verstehen.

Aphton 8. Jul 2013 14:34

AW: aus einem Array die kleinste Zahl herausfinden
 
Delphi-Quellcode:
function kleinsteZahlAusArray(A: Array of Integer): Integer;
label
  neuerVersuch;
var
  i: Integer;
begin
  neuerVersuch:
  Result := Random(Length(A));
  for i := 0 to High(A) do
    if i <> Result then
      if A[i] < A[Result] then
        goto neuerVersuch;
end;
Wer kanns verschlimmbessern?

baumina 8. Jul 2013 14:49

AW: aus einem Array die kleinste Zahl herausfinden
 
Random, GoTo? Was macht die Funktion für einen Sinn? Ist das eine ernst gemeinte Frage?

gammatester 8. Jul 2013 14:49

AW: aus einem Array die kleinste Zahl herausfinden
 
Zitat:

Zitat von Aphton (Beitrag 1221103)
Wer kanns verschlimmbessern?

Das muß man nicht verschlimmbessern, da es eh schon falsch ist. Du lieferst einen 0-basierten Index zurück (und nicht den kleinsten Wert), was zB bei einem array[1..1] of integer gnadenlos in die Hose geht.

Aphton 8. Jul 2013 15:22

AW: aus einem Array die kleinste Zahl herausfinden
 
Ähm also folgendes lässt sich kompilieren:
Delphi-Quellcode:
var
  a: Array[1..1] of Integer = (5);

begin
  writeln(kleinsteZahlAusArray(a));
  readln;
...
(der Index ist jedoch eben 0 basiert)

Delphi-Quellcode:
  writeln(low(a) + kleinsteZahlAusArray(a));
Edit: Natürlich ist das nicht ernst gemeint :roll:
Aber das mit dem Index ist jz schon ein interessanteres Problem. Kann ich in der aufgerufenen Funktion eig. per Low() iwie den Startwert ermitteln? Weil so klappt das ja nicht - also drinnen nicht, außerhalb der Funktion schon) - ohne dafür einen eigenen Typ definieren zu müssen!

DeddyH 8. Jul 2013 15:29

AW: aus einem Array die kleinste Zahl herausfinden
 
Dann erzähl das mal meinem Delphi.
Delphi-Quellcode:
function kleinsteZahlAusArray(A: Array of Integer): Integer;
label
  neuerVersuch;
var
  i: Integer;
begin
  neuerVersuch:
  Result := Random(Length(A));
  for i := 0 to High(A) do
    if i <> Result then
      if A[i] < A[Result] then
        goto neuerVersuch;
end;

procedure TFormTest.Button1Click(Sender: TObject);
var
  A: array[1..2] of integer;
begin
  A[1] := 200;
  A[2] := 100;
  ShowMessage(IntToStr(kleinsteZahlAusArray(A)));
end;
Kompiliert und liefert 1 zurück (wobei 2 ja richtig wäre).

Aphton 8. Jul 2013 15:32

AW: aus einem Array die kleinste Zahl herausfinden
 
@Dedddy 1 ist 0 basiert gleich 2
0 wäre 1

DeddyH 8. Jul 2013 15:33

AW: aus einem Array die kleinste Zahl herausfinden
 
Ich weiß selbst, dass Open Arrays 0-basiert sind. Das bedeutet aber auch, dass es so nicht funktionieren kann, da sich je nach Array-Definition die Indizes verschieben. Aber sind wir jetzt nicht etwas weit weg vom eigentlichen Thema?

baumina 8. Jul 2013 15:34

AW: aus einem Array die kleinste Zahl herausfinden
 
Allein dieses random ist mir echt ein Rätsel.

Aphton 8. Jul 2013 15:35

AW: aus einem Array die kleinste Zahl herausfinden
 
Ich glaub das ursprüngliche Problem wurde bereits gelöst?
Ich wollt nur ein bisschen Unfug treiben xD
Btw lies nochmal meinen ursprünglichen Beitrag, hab was dazueditiert!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.
Seite 5 von 6   « Erste     345 6      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz