function FindHoejste(const IntArray: Array of Integer): Integer; var I: Integer; begin Result := IntArray[0]; if Length(IntArray) > 1 then for I := 1 to Length(IntArray) - 1 do begin if IntArray[I] > Result then Result := IntArray[I]; end; end;
Funktionen kaldes således: Hoejste := FindHoejste([a,b,c,d,e,f,g,h,i]);
Nu har jeg ikke set koden bag MaxIntValue, men du har ret... Jeg tænkte blot, at dcgeek måske ville have en funktion hvor man kan se koden, og den er jo ikke ret lang :-)
Er der forresten ikke en fejl i din kode. Jeg har ikke lige testet den, men vil "Result := IntArray[0];" ikke resultere i en fejl hvis Length(IntArray) er lig nul?
Er der ikke snarere noget i retning af:
Result := 0; if length(IntArray) > 0 then for I := 0 to Length(IntArray)-1 do if IntArray[I] > Result then Result := IntArray[I];
eller..
Result := 0; if length(IntArray) > 0 then for I := 0 to Length(IntArray)-1 do result:=max(result, IntArray[I]);
I din rettelse glemmer du at der også kan være negative værdier i et Array of Integer. Eksempel: Hoejste := FindHoejste([-435, -123, -9438, -45, -2437]); I eksemplet vil din rettelse returnere 0...
Den her funktion er testet med negative værdier:
function FindHoejste(const IntArray: Array of Integer): Integer; var I: Integer; begin if Length(IntArray) > 0 then Result := IntArray[0] else Result := 0; if Length(IntArray) > 1 then for I := 1 to Length(IntArray) - 1 do begin if IntArray[I] > Result then Result := IntArray[I]; end; end;
Nå ja, hvis det endelig skal være, hvorfor så ikke: :)
function FindHoejste(const IntArray: Array of Integer): Integer; var I: Integer; begin if Length(IntArray) > 0 then begin Result := IntArray[0]; for I := 1 to Length(IntArray) - 1 do if IntArray[I] > Result then Result:=IntArray[I]; end else Result := 0; end;
function MinValue(const Data: array of Double): Double; function MinIntValue(const Data: array of Integer): Integer;
function Min(A,B: Integer): Integer; overload; function Min(A,B: Int64): Int64; overload; function Min(A,B: Single): Single; overload; function Min(A,B: Double): Double; overload; function Min(A,B: Extended): Extended; overload;
{ MaxValue: Returns the largest signed value in the data array (MAX) } function MaxValue(const Data: array of Double): Double; function MaxIntValue(const Data: array of Integer): Integer;
function Max(A,B: Integer): Integer; overload; function Max(A,B: Int64): Int64; overload; function Max(A,B: Single): Single; overload; function Max(A,B: Double): Double; overload; function Max(A,B: Extended): Extended; overload;
Jens B
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.