Avatar billede madd Nybegynder
24. maj 2001 - 18:29 Der er 6 kommentarer og
2 løsninger

Finde mindste/største værdi i et array..?!

Overskriften siger vil sig selv...

Jeg har f.eks.
aArray(0) = 5
aArray(1) = 1
aArray(2) = 3
aArray(3) = 2

Hvis jeg så skal have det mindste tal(1), hvordan gør jeg så?

/Mattias
Avatar billede winkill Nybegynder
24. maj 2001 - 18:38 #1
For Index = LBound(aArray) To UBound(aArray)
    If aArray(Index) < LValue Then LValue = aArray(Index)
    If aArray(Index) > HValue Then HValue = aArray(Index)
Next Index
Msgbox \"Den mindste værdi var \" & LValue & \" den højeste ver \" & HValue
Avatar billede dexxa Nybegynder
24. maj 2001 - 18:50 #2
For Index = LBound(aArray) To UBound(aArray)
    If aArray(Index) < LValue Then LValue = aArray(Index)
    If aArray(Index) > HValue Then HValue = aArray(Index)
Next Index
Msgbox \"Den mindste værdi var \" & LValue & \" den højeste var \" & HValue
Avatar billede tdaugaard Nybegynder
24. maj 2001 - 19:52 #3
dexxa:> Hvor latterligt! Du har rettet et E til et A .. og ikke en disse mere!
Avatar billede winkill Nybegynder
24. maj 2001 - 22:14 #4
dexxa > Tror du ikke du skal ha\' oprettet din egen kattegori... \"Dansk retstavning\" !?!
Avatar billede madd Nybegynder
26. maj 2001 - 17:33 #5
winkill> hvis jeg bruger denne kode:

aArray(0) = 5
aArray(1) = 3
aArray(2) = 1
aArray(3) = 7
    For Index = LBound(aArray) To UBound(aArray)
    If aArray(Index) < LValue Then LValue = aArray(Index)
    If aArray(Index) > HValue Then HValue = aArray(Index)
            Next Index
            MsgBox \"Den mindste værdi var \" & LValue & \" den højeste ver \" & HValue


Skriver den: \"Den mindste værdi var  den højeste ver 7\"

Den kan ikke finde den mindste, med mindre at der er negative tal indblandet...!
Avatar billede winkill Nybegynder
26. maj 2001 - 17:45 #6
Ups ja selvfølgeligt. Her en en lille update

bLFound = False
aArray(0) = 5
aArray(1) = 3
aArray(2) = 1
aArray(3) = 7
    For Index = LBound(aArray) To UBound(aArray)
    If aArray(Index) < LValue Or Not bLFound Then LValue = aArray(Index) : bLFound = True
    If aArray(Index) > HValue Then HValue = aArray(Index)
            Next Index
            MsgBox \"Den mindste værdi var \" & LValue & \" den højeste ver \" & HValue
Avatar billede winkill Nybegynder
26. maj 2001 - 17:47 #7
Jeg er ikke helt sikker på at det virker sådan, men ellers så udskift \"Or Not bLFound Then\" med \"Or bLFound = False Then\"
Avatar billede rasmuss Nybegynder
31. maj 2001 - 11:12 #8
I en CommandButton:

on error goto g

dim Num , Værdi, EKS as integer

eks = aArray(0).caption
Do
if val(aArray(Num).caption) < eks then
værdi = index
end if
Num = Num + 1
Loop

exit sub
g:

MsgBox \"Det var nummer \" & værdi & \" Der var mindst!!\"
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester