/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
At sortere et array?
Fra : Esben Boye-Jacobsen


Dato : 25-10-03 18:34

Hej NG!

Jeg har 7 tal-variable, som bliver lagt ind i et array.
Ud fra det, skal jeg trække den højeste talværdi. Kan det gøres
på en relativt let måde, f.eks. med noget der ligner en
sort(liste) funktion (og så tage liste(1) )? Eller skal jeg sidde
og køre alle værdierne igennem og sammenligne dem med hindanden?

På forhånd tak!

- Esben

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Torben Brandt (25-10-2003)
Kommentar
Fra : Torben Brandt


Dato : 25-10-03 20:22

Esben Boye-Jacobsen skrev:
> Jeg har 7 tal-variable, som bliver lagt ind i et array.
> Ud fra det, skal jeg trække den højeste talværdi. Kan det gøres
> på en relativt let måde, f.eks. med noget der ligner en
> sort(liste) funktion (og så tage liste(1) )? Eller skal jeg sidde
> og køre alle værdierne igennem og sammenligne dem med hindanden?

Jeg tror du bliver nødt til at tøffe igennem din liste, men det skulle
vel heller ikke være så slemt:

stoerst = -10000 ' skal være mindre end indholdet af listen
For i = LBound(liste) To UBound(liste)
If liste(i) > stoerst Then stoerst = liste(i)
Next
Response.Write stoerst

/Torben


Jørn Andersen (25-10-2003)
Kommentar
Fra : Jørn Andersen


Dato : 25-10-03 20:00

On Sat, 25 Oct 2003 17:34:20 +0000 (UTC), Esben Boye-Jacobsen
<EsbenBoye@Jacobsen.dk> wrote:

>Jeg har 7 tal-variable, som bliver lagt ind i et array.
>Ud fra det, skal jeg trække den højeste talværdi. Kan det gøres
>på en relativt let måde, f.eks. med noget der ligner en
>sort(liste) funktion (og så tage liste(1) )? Eller skal jeg sidde
>og køre alle værdierne igennem og sammenligne dem med hindanden?

Jeg tror ikke, du slipper uden om at løbe array'et igennem og
sammenligne (hvis du bruger VBScript - i JScript er der en
Max-metode).

Måske noget i retning af dette kan bruges (ikke testet - forudsætter,
at Array'et er en-dimensionelt):

Function fktMaxArray(myArray)
Dim intMax, intUBound, i
intMax = myArray(0)
intUBound = UBound(myArray)
If intUBound > 0 Then
For i = 1 To intUBound
If myArray(i) > intMax Then intMax = myArray(i)
Next
End If
fktMaxArray = intMax
End Function

Good luck!

--
Jørn Andersen,
Brønshøj

AuroraB (26-10-2003)
Kommentar
Fra : AuroraB


Dato : 26-10-03 12:48

Esben Boye-Jacobsen wrote:

> Hej NG!
>
> Jeg har 7 tal-variable, som bliver lagt ind i et array.
> Ud fra det, skal jeg trække den højeste talværdi. Kan det gøres
> på en relativt let måde, f.eks. med noget der ligner en
> sort(liste) funktion (og så tage liste(1) )? Eller skal jeg sidde
> og køre alle værdierne igennem og sammenligne dem med hindanden?


Her er en link om sortering: http://www.visualbasicforum.com/t78889.html

Og her er en kjapp modifisering av BubbleSort koden på den siden:
'---------------------------

Function BubbleSort(lngArray)
Dim iOuter
Dim iInner
Dim iLBound
Dim iUBound
Dim iTemp

iLBound = LBound(lngArray)
iUBound = UBound(lngArray)

For iOuter = iLBound To iUBound - 1
For iInner = iLBound To iUBound - iOuter - 1

If lngArray(iInner) > lngArray(iInner + 1) Then
iTemp = lngArray(iInner)
lngArray(iInner) = lngArray(iInner + 1)
lngArray(iInner + 1) = iTemp
End If

Next
Next

BubbleSort = lngArray
End Function

'------------------------
Funksjonen kan brukes slik:
returnArr = BubbleSort(arr)

For i = 0 To UBound(returnArr)
Response.Write returnArr(i) & "<br>"
Next


a


Jakob Andersen (30-10-2003)
Kommentar
Fra : Jakob Andersen


Dato : 30-10-03 21:04

In article <bnec6s$s18$1@sunsite.dk>, Esben Boye-Jacobsen wrote:
> Jeg har 7 tal-variable, som bliver lagt ind i et array.
> Ud fra det, skal jeg trække den højeste talværdi. Kan det gøres
> på en relativt let måde, f.eks. med noget der ligner en
> sort(liste) funktion (og så tage liste(1) )? Eller skal jeg sidde
> og køre alle værdierne igennem og sammenligne dem med hindanden?

Jeg plejer at køre den slags funktionalitet omkring JScript som
kan sortere arrays:

<script language="JScript" runat="server">
   function JSgetMax( strList ){
      arr = strList.split(",");
arr.sort();
      return arr[arr.length - 1];
   }
</script>
<%
Function getMax( arr )
Response.Write(Join(arr,",") & "<br />")
getMax = JSgetMax(Join(arr,","))
End Function

Nu kan du blot kalde getMax funktionen med et Array som parameter og
du får returneret det højeste element.

--
Jakob Andersen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste