Avatar billede ravnborg Nybegynder
16. januar 2005 - 13:32 Der er 16 kommentarer og
1 løsning

find den mindste variabel

Jeg har 3 variabler var1, var2 og var3 som er tal. Er der en let måde hvor jeg kan få afvide hvilken der er mindst?
Avatar billede michael_stim Ekspert
16. januar 2005 - 13:43 #1
if var1>var2 AND var1>var3 THEN
response.write "var1 er störst"
osv
Avatar billede michael_stim Ekspert
16. januar 2005 - 13:46 #2
if var1<var2 AND var1<var3 THEN
response.write "var1 er mindst"
osv

Det skulle jo väre mindst ;o)
Avatar billede tjaz Nybegynder
16. januar 2005 - 15:40 #3
Du får ikke tjekket alle værdier ved at gøre det som michael_stim skriver det ... men hvis du bruger den her i stedet vil den sætte alle værdier op mod hinanden og udskrive den mindste:

<%
var1 = 24
var2 = 50
var3 = 1

if var1 > var2 AND var1 > var3 then
    if var2 > var3 then
        response.write "Den mindste værdi var: "& var3
    else
        response.write "Den mindste værdi var: "& var2
    end if
elseif var2 > var1 AND var2 > var3 then
    if var1 > var3 then
        response.write "Den mindste værdi var: "& var3
    else
        response.write "Den mindste værdi var: "& var1
    end if
elseif var3 > var1 AND var3 > var2 then
    if var1 > var2 then
        response.write "Den mindste værdi var: "& var2
    else
        response.write "Den mindste værdi var: "& var1
    end if
end if
%>
Avatar billede tjaz Nybegynder
16. januar 2005 - 15:42 #4
Den nemmeste måde at anvende den på er nok at lægge den i en Function og så hente den på den måde, eks:

<%
Function mindstetal(var1,var2,var3)

if var1 > var2 AND var1 > var3 then
    if var2 > var3 then
        response.write "Den mindste værdi var: "& var3
    else
        response.write "Den mindste værdi var: "& var2
    end if
elseif var2 > var1 AND var2 > var3 then
    if var1 > var3 then
        response.write "Den mindste værdi var: "& var3
    else
        response.write "Den mindste værdi var: "& var1
    end if
elseif var3 > var1 AND var3 > var2 then
    if var1 > var2 then
        response.write "Den mindste værdi var: "& var2
    else
        response.write "Den mindste værdi var: "& var1
    end if
end if

End Function

response.write mindstetal(24,50,1)

%>
Avatar billede tjaz Nybegynder
16. januar 2005 - 15:46 #5
Lavede lige en lille en hvor du kan teste det :)

http://www.tjaz.dk/exp/tjektal.asp
Avatar billede tjaz Nybegynder
16. januar 2005 - 15:47 #6
ups .. der er vidst en lille fejl i den :D .. 2 sek kigger lige på det :D
Avatar billede tjaz Nybegynder
16. januar 2005 - 15:53 #7
det virker faktisk af lort :D ... finder lige en anden løsning om muligt :D
Avatar billede michael_stim Ekspert
16. januar 2005 - 16:13 #8
if var1 < var2 AND var1 < var3 then
response.write "Den mindste værdi var: "& var1
elseif var2 < var1 AND var2 < var3 then
response.write "Den mindste værdi var: "& var2
elseif var3 < var1 AND var3 < var2 then
response.write "Den mindste værdi var: "& var3
end if
Avatar billede michael_stim Ekspert
16. januar 2005 - 16:14 #9
Man behöver ikke at göre det mere kompliceret end det er ;o)
Avatar billede tjaz Nybegynder
16. januar 2005 - 16:28 #10
well jeg har fundet en løsning som gør det muligt vha. array hvor man kan tilføje flere om nødvendigt... som ligger under ovenstående link nu ... skriv hvis du vil ha den ... den er lavet ud fra en løsning med BubbleSort (udfra en artikel på activedeveloper.dk)

http://activedeveloper.dk/artikler/default.asp?articleid=164
Avatar billede cpufan Juniormester
17. januar 2005 - 17:47 #11
<%
Function mindst(var1,var2,var3)
min = 999999999999 ' sæt højeste tal
if (min > var1) min = var1
if (min > var2) min = var2
if (min > var3) min = var3
return min
end Function
Avatar billede cpufan Juniormester
17. januar 2005 - 17:49 #12
skal så være ......
Function mindst(var1,var2,var3)
min = 999999999999 ' sæt højeste tal
if (min > var1) min = var1
if (min > var2) min = var2
if (min > var3) min = var3
mindst = min
end Function
Avatar billede cpufan Juniormester
17. januar 2005 - 17:55 #13
argh "#¤% , der skal nogle then's på
Function mindst(var1,var2,var3)
min = 999999999999 ' sæt højeste tal
if (min > var1) then min = var1
if (min > var2) then min = var2
if (min > var3) then min = var3
mindst = min
end Function
Avatar billede michael_stim Ekspert
17. januar 2005 - 20:22 #14
cpufan>>Så kan jeg nu bedre lide min. Ser lidt klumpet ud at man skal sätte en statisk variabel, for at teste 3 dynamiske mod hinanden. Men det er jo en smagssag, der er adskillige andre måder at teste på.
Men det ser ikke ud til at der kommer response fra spörgeren.
Avatar billede michael_stim Ekspert
17. januar 2005 - 20:24 #15
tjaz>>Så lige din kommentar. Hvorfor får man ikke checket alle variabler på min måde???
Avatar billede ravnborg Nybegynder
20. januar 2005 - 17:00 #16
tjaz>> jeg vil gerne se den array du har lavet.
Avatar billede tjaz Nybegynder
20. februar 2005 - 23:00 #17
Den jeg har lavet med array kan findes her:

http://www.tjaz.dk/exp/tjektal.asp

<%
Private Sub BubbleSort(byRef arrTemp, byVal sDim, byVal sSort)

  Dim n
  Dim y
  Dim t
  Dim tmpTop
  Dim tmpVal
  Dim iBookMark
  Dim BubbleElement

  BubbleElement = False

  For n = 0 To UBound(arrTemp,2)
tmpTop = arrTemp(sDim,n)
iBookmark = n

For y = n To UBound(arrTemp,2)
  If sSort = 0 Then
  If (tmpTop > arrTemp(sDim,y)) Then
    BubbleElement = True
  End If
  Else
  If (tmpTop < arrTemp(sDim,y)) Then
    BubbleElement = True
  End If
  End If

  If BubbleElement Then
  tmpTop = arrTemp(sDim,y)
  iBookmark = y
  BubbleElement = False
  End If
Next

For t = 0 to UBound(arrTemp, 1)
  tmpVal = arrTemp(t, n)
  arrTemp(t, n) = arrTemp(t, iBookmark)
  arrTemp(t, iBookmark) = tmpVal
Next
  Next

End Sub

Function mindstetal(var1,var2,var3)

Dim myArray()
ReDim myArray(0,2)
 
'Her kan du skrive flere på hvis du ønsker, husk at ret antallet i ReDim myArray
myArray(0,0) = ""& var1 &""
myArray(0,1) = ""& var2 &""
myArray(0,2) = ""& var3 &""
 
Call BubbleSort(myArray, 0, 0)
For n = 0 To 0
  Response.Write "Det mindste tal i dit array er: "& myArray(0,n) &"<br>"
Next
 
End Function

if Request.ServerVariables("REQUEST_METHOD") = "POST" then 
response.write mindstetal(Request.Form("tal1"),Request.Form("tal2"),Request.Form("tal3"))
else
%>
<form action="tjektal.asp" method="post"> 
<input type="text" name="tal1" value="" size="3">
<input type="text" name="tal2" value="" size="3"> 
<input type="text" name="tal3" value="" size="3"> 
<input type="submit" value="tjek"> 
</form> 
<% End If %>
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