Avatar billede md_craig Nybegynder
12. maj 2003 - 14:28 Der er 13 kommentarer og
1 løsning

Højeste værdi i en Array

Jeg har et array, med nogle nummeriske værdier...

Hvordan gør jeg det ??? for det jeg gør virker ikke

For n = LBound(CountArray) To UBound(CountArray)
  IF TopCount < CountArray(n) THEN
    TopCount = CountArray(n)
  END IF
Next
Avatar billede erikjacobsen Ekspert
12. maj 2003 - 14:30 #1
TopCount = CountArray(0)
For n = LBound(CountArray) To UBound(CountArray)
  IF TopCount > CountArray(n) THEN
    TopCount = CountArray(n)
  END IF
Next
Avatar billede mccannon Nybegynder
12. maj 2003 - 14:32 #2
hmm kan man ikke sige :
Top = Ubound(Array)
Avatar billede mccannon Nybegynder
12. maj 2003 - 14:33 #3
doh..jeg misforstod spørgsmålet.. ;-)
Avatar billede md_craig Nybegynder
12. maj 2003 - 14:34 #4
Hvis topcount er støre skal den jo ikke gøre noget...
Avatar billede md_craig Nybegynder
12. maj 2003 - 14:37 #5
2 < 3 = Sandt
2 > 3 = Falsk

Det den umiddelbart gør med det jeg har lavbet er at den vælger det største encifrede tal... altså af mængden:

1
3
5
4
6
2
9
11
15
12

Vælger den 9 og ikke 15
Avatar billede erikjacobsen Ekspert
12. maj 2003 - 14:44 #6
Så har du et array af strenge, ikke tal. Men erstat
IF TopCount > CountArray(n) THEN
med
IF CLNG(TopCount) > CLNG(CountArray(n)) THEN
Avatar billede -master-d- Nybegynder
12. maj 2003 - 14:59 #7
Dette virker ihvert fald

TopCount = CLng(CountArray(0))
For n = CLng(LBound(CountArray)) To CLng(UBound(CountArray))
  IF TopCount < CLng(CountArray(n)) THEN
    TopCount = CLng(CountArray(n))
  END IF
Next
Avatar billede erikjacobsen Ekspert
12. maj 2003 - 15:04 #8
Jah, det er korrekt at jeg siger CLNG (convert to long) mere end nødvendigt.
Avatar billede -master-d- Nybegynder
12. maj 2003 - 15:07 #9
Du kunne jo også bare have brugt CInt, det vil give det samme resultat.

TopCount = CInt(CountArray(0))
For n = LBound(CountArray) To UBound(CountArray)
  IF TopCount < CInt(CountArray(n)) THEN
    TopCount = CInt(CountArray(n))
  END IF
Next
Avatar billede erikjacobsen Ekspert
12. maj 2003 - 15:17 #10
clng og cint er jo ikke de samme. Prøv

  s="8889555"
  response.write clng(s) & "<br>"
  response.write cint(s) & "<br>"
Avatar billede -master-d- Nybegynder
12. maj 2003 - 15:21 #11
Ja, men i dette tilfælde med små tal vil det være det samme. Jeg er jo ikke helt dum, selvfølgelig vil dit eksempel give to vidt forskellige udfald.
Avatar billede erikjacobsen Ekspert
12. maj 2003 - 15:30 #12
"kunne jo også bare have brugt CInt" lægger op til at det er det
samme. Du kan ikke vide hvilke tal spørgeren i sidste ende skal finde,
og tallene opgivet her i spørgsmålet ser ud til blot at være til testformål.
Det er selvfølgelig i orden at foreslå CInt, men så er du også
moralsk forpligtet til at orientere om konsekvenserne.
Avatar billede -master-d- Nybegynder
12. maj 2003 - 15:32 #13
Jeg siger jo heller ikke at dit forslag er forkert eller noget, foreslog jo også selv det til at starte med, men hvis brugeren rent faktsik havde tænkt sig at bruge små tal kunne man som et alternativ bruge CInt.
Avatar billede md_craig Nybegynder
01. juli 2003 - 15:09 #14
-master-d- >>>

Da det bruges i forbindelse med et statestik system, er det ikke nødvendigvis små tal, det kan meget vel blive meget store tal en dag...

Ikke for at kritisere, betragt det som en oplysning.. ;oD
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