Avatar billede 44nato44 Nybegynder
05. juni 2002 - 17:55 Der er 18 kommentarer og
1 løsning

Indsæt array i Funktion

Hej alle

Jeg synes at det skulle være så nemt at indsætte et array i en funktion, lige som dette : Men jeg vil så finde gennemsnittet ved en funktion.. som også er vedhæftet. men jeg kan ikke få den til at virke hjælp

Dim tabel30(30), i


Randomize
For i = 1 to 30
        tabel30(i) = Int(1 + Rnd*50)
Next


Function BeregnGennemsnit(tabel30)
        ' pre : tabel30 er et endimensionelt array
        ' post: returnerer et decimaltal

Response.Write tabel30/30

End Function
Avatar billede a1a1 Novice
05. juni 2002 - 17:59 #1
det er fordi du skal overføre din array byref

Function BeregnGennemsnit(ByRef tabel30)

Response.Write tabel30/30

End Function

er det bare det der var problemet?
Avatar billede medions Nybegynder
05. juni 2002 - 18:04 #2
Randomize
For i = 1 to 30
        tabel30 = tabel30 + Int(1 + Rnd*50) & ","
Next
convert = Len(tabel30) -1
tabel30 = Left(tabel30,convert)

Function BeregnGennemsnit(tabel30)
arrTbl30 = Split(tabel30,",")
For i = 0 To UBound(arrTbl30)
  ialt = ialt + tabel30
Next
gennemsnit = 100 * ialt / UBound(arrTbl30)
        ' pre : tabel30 er et endimensionelt array
        ' post: returnerer et decimaltal

Response.Write(ialt & "<br>" & gennemsnit)

End Function

*G* kan sq ik' huske hvordan man beregner gennemsnittet ;-)
Men UBound(arrTbl30) giver hvor mange tal der er i arrayet!

Håber du kunne bruge det :-D
//>Rune
Avatar billede medions Nybegynder
05. juni 2002 - 18:04 #3
a1> Hvad gør ByRef?

//>Rune
Avatar billede a1a1 Novice
05. juni 2002 - 18:26 #4
sender  variablen's (arrayen) reference i stedet for værdien af arrayen....
Avatar billede medions Nybegynder
05. juni 2002 - 19:13 #5
Hmm.. ok thx! -Vidste bare ikke man kunne det i ASP, trode kun det var i Visual Basic!
//>Rune
Avatar billede loukas Mester
05. juni 2002 - 21:12 #6
Hej med jer !!!
Jeg sidder med samme opgave ;-)
Sjovt nok !?!?
Men opretter et nyt spørgsmål for ikke at gøre forvirringen total :-)
44nato44 <<-skal du til eksamen på fredag ??
Avatar billede 44nato44 Nybegynder
05. juni 2002 - 21:54 #7
Jeg har prøvet begge to men kan ikke få dem til at virke.

Medions : Jeg skal bruge et array.. og dit ligner ikke et.. eller tager jeg forkert ?

a1 : Hvordan bruger jeg så når jeg kalder funktionen BeregnGennemsnit(tabel30()) eller hvordan skal jeg overføre mit array til funktionsdel

Loukas.. jeg skal også op på fredag  :)  det bliver nok lidt for spændende :)
Avatar billede a1a1 Novice
05. juni 2002 - 22:52 #8
sluttal = 0 ' "global" variabel
Function BeregnGennemsnit(ByRef tmpArray)
dim i, totaltal
for i = 0 to ubound(tmpArray)
totaltal = totaltal + cdbl(tmpArray(i))
next
sluttal = totaltal/(ubound(tmpArray)+1)
End Function

' kald funktion med DIN array
Call BeregnGennemsnit(tabel30)
' sluttal skulle gørne have en værdi andet end 0 nu
Response.Write sluttal

:)
Avatar billede 44nato44 Nybegynder
05. juni 2002 - 23:10 #9
Tak skal du ha' a1... det virker.. lige et spørgsmål.. når man bruger Call.. er det så ikke en procedure og ikke en funktion eller tager jeg fejl.. du får dine point efter dette svar.. takker og bukker så meget  :)

Håber DANMARK vinder i morgen
Avatar billede medions Nybegynder
05. juni 2002 - 23:27 #10
Dim tabel30(30), i, sum, totalsum
sum = 0
Randomize

maks = 0
For i = 1 To 30
    tabel30(i) = Int(1 + Rnd * 50)
    If tabel30(i) > maks Then maks = tabel30(i)
    Response.Write tabel30(i) & ", "
    sum = sum + tabel30(i)
Next

Response.Write("<br>")

Function Gennemsnit(ByRef sum, maks)
    Response.Write("Gennemsnittet er " & sum/30 & "<br>")
    Response.Write("Det største tal er " & maks & "<br>")
End Function
Call Gennemsnit(sum,maks)

//>Rune
Avatar billede a1a1 Novice
06. juni 2002 - 00:24 #11
det er jeg ikke helt 100 på :(

men du er jo nød til at "kalde" funktionen på en eller anden måde...
Avatar billede 44nato44 Nybegynder
06. juni 2002 - 00:52 #12
Tak for svared Medions.. men jeg går efter a1 fordi jeg vil gerne gøre udregningen inde i funktionen..
Avatar billede medions Nybegynder
06. juni 2002 - 00:56 #13
??? Det har jeg sq da oxo gjordt!!!

//>Rune
Avatar billede medions Nybegynder
06. juni 2002 - 00:57 #14
Det var da mig der lavede det komplette først!

//>Rune
Avatar billede a1a1 Novice
06. juni 2002 - 01:13 #15
rune du overfører en variabel med værdien, ikke en array.

han ville jo overføre array'en til functionen (og manipulere med den der i)

:)
Avatar billede medions Nybegynder
06. juni 2002 - 01:17 #16
a1> Snøft! :-(

Jamen så vil jeg da oxo bare gå ind og sove dårligt i nat!
;-)
//>Rune
Avatar billede medions Nybegynder
06. juni 2002 - 01:18 #17
Jeg syntes nu alligevel vi begge skulle ha' haft 15 poinz! -men okay, jeg lærte da noget nyttefuldt i dag, så lad gå :-)

//>Rune
Avatar billede a1a1 Novice
06. juni 2002 - 01:37 #18
sorryy....:o)
Avatar billede 44nato44 Nybegynder
06. juni 2002 - 14:21 #19
Rune.. Måske var det mig.. jeg ville have kalkulationen i Funktionen.. du har kun lavet udskrivningen... det var det jeg var efter.. Dk - Senegal 1-1 :(
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