Imports System
Module Program
Sub Main(args As String())
Dim rpnstr As String = "6.1 5.2 4.3 * + 3.4 2.5 / 1.6 * - "
Dim opeStack As New Stack
While True
If rpnstr.Length = 0 Then
GoTo owari
End If
Dim fSpacePosition As Integer = rpnstr.IndexOf(" ")
Dim fstr As String = rpnstr.Substring(0, fSpacePosition)
Dim nstr As String = Strings.Right(rpnstr, rpnstr.Length - fSpacePosition - 1)
If fstr = "+" Or fstr = "-" Or fstr = "*" Or fstr = "/" Then
Dim y As Double = CDbl(opeStack.Pop)
Dim x As Double = CDbl(opeStack.Pop)
Select Case fstr
Case "+" : opeStack.Push(CStr(x + y))
Case "-" : opeStack.Push(CStr(x - y))
Case "*" : opeStack.Push(CStr(x * y))
Case "/" : opeStack.Push(CStr(x / y))
End Select
Else
opeStack.Push(fstr)
End If
rpnstr = nstr
End While
owari:
Console.WriteLine(opeStack.Pop)
Console.WriteLine("Hello World!")
End Sub
End Module
カテゴリー: Visual Basic
カテゴリー
逆ポーランド記法の計算式
Imports System
Module Program
Sub Main(args As String())
Dim rpnstr As String
Dim rpnary() As String
Dim ans As Double
rpnstr = "6.1 5.2 4.3 * + 3.4 2.5 / 1.6 * - "
While True
rpnstr = RTrim(rpnstr)
rpnary = rpnstr.Split(" ")
If rpnary.Length = 1 Then
ans = rpnary(0)
GoTo owari
End If
Dim i As Integer = 0
While True
If rpnary(i) = "+" Or rpnary(i) = "-" Or rpnary(i) = "*" Or rpnary(i) = "/" Then
GoTo mikke
End If
i += 1
End While
mikke:
Dim a As Double
Dim b As Double
a = CDbl(rpnary(i - 2))
b = CDbl(rpnary(i - 1))
If rpnary(i) = "+" Then
rpnary(i - 2) = a + b
ElseIf rpnary(i) = "-" Then
rpnary(i - 2) = a - b
ElseIf rpnary(i) = "*" Then
rpnary(i - 2) = a * b
Else
rpnary(i - 2) = a / b
End If
rpnary(i - 1) = ""
rpnary(i) = ""
rpnstr = ""
Dim j As Integer = 0
For j = 0 To i - 2 - 1
rpnstr += rpnary(j) + " "
Next
rpnstr += CStr(rpnary(i - 2)) + rpnary(i - 1) + rpnary(i) + " "
For j = i + 1 To rpnary.Length - 1
rpnstr += rpnary(j) + " "
Next
End While
owari:
Console.WriteLine(ans)
Console.WriteLine("Hello World!")
End Sub
#include <stdio.h>
int main(){
puts("Hello");
return 0;
}
dim a as integer
a = 100
print a
dim a as integer
a = 100
print a
highlighting code blockを使ってますが、デフォルトでの設定以外では、free契約のWordPressでは出来ないようです。何故かというと、サーバーにアクセスできないようですので。その結果、Visual Basicでは使えないということです。別に試したところでは、VS2022以上の使用感は実現されていないようです。上に載せているように、コードだけであれば問題ないように思います。