September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -0,0 +1,56 @@
|
|||
Function RPN(expr As String) As String
|
||||
|
||||
Dim tokenArray() As String
|
||||
Dim stack() As String
|
||||
|
||||
Dim Wert1 As Double
|
||||
Dim Wert2 As Double
|
||||
|
||||
|
||||
|
||||
'Initialize array (removed later)
|
||||
ReDim tokenArray(1)
|
||||
ReDim stack(1)
|
||||
|
||||
|
||||
tokenArray = Split(expr, " ")
|
||||
|
||||
Dim i As integer
|
||||
i = 0
|
||||
|
||||
While i <= tokenArray.Ubound
|
||||
|
||||
|
||||
If tokenArray(i) = "+" Then
|
||||
Wert2 = Val(stack.pop)
|
||||
Wert1 = Val(stack.pop)
|
||||
stack.Append(Str(Wert1+Wert2))
|
||||
ElseIf tokenArray(i) = "-" Then
|
||||
Wert2 = Val(stack.pop)
|
||||
Wert1 = Val(stack.pop)
|
||||
stack.Append(Str(Wert1-Wert2))
|
||||
ElseIf tokenArray(i) = "*" Then
|
||||
Wert2 = Val(stack.pop)
|
||||
Wert1 = Val(stack.pop)
|
||||
stack.Append(Str(Wert1*Wert2))
|
||||
ElseIf tokenArray(i) = "/" Then
|
||||
Wert2 = Val(stack.pop)
|
||||
Wert1 = Val(stack.pop)
|
||||
stack.Append(Str(Wert1/Wert2))
|
||||
ElseIf tokenArray(i) = "^" Then
|
||||
Wert2 = Val(stack.pop)
|
||||
Wert1 = Val(stack.pop)
|
||||
stack.Append(Str(pow(Wert1,Wert2)))
|
||||
Else
|
||||
stack.Append(tokenArray(i))
|
||||
End If
|
||||
|
||||
|
||||
i = i +1
|
||||
|
||||
Wend
|
||||
|
||||
|
||||
Return stack(2)
|
||||
|
||||
End Function
|
||||
Loading…
Add table
Add a link
Reference in a new issue