第25講 n進数を10進数に翻訳する
第3話 n進数を10進数に翻訳するソフト解答例
コード例
Private Sub CommandButton1_Click()
Dim m As Long, n As Integer
n = Cells(6, 3)
m = Cells(7, 3)
f n, m
End Sub
Sub f(n As Integer, m As Long)
Dim a As Long
Dim i As Long, j As Long, h(100000000) As Byte, w As Long
w = m
a = 0
Do While w > 0
w = Int(w / 10)
a = a + 1
Loop
For i = 0 To a - 1
w = 1
For j = 0 To i
w = w * 10
Next
h(a - i - 1) = Int((m Mod w) / (w / 10))
Next
w = h(0)
For i = 1 To a - 1
w = n * w + h(i)
Next
Cells(8, 3) = w
End Sub
Private Sub CommandButton2_Click()
Range("c6:c8").Select
Selection.ClearContents
Range("A1").Select
End Sub
実行画面例
さて、今回n進数なら、各位の数字はn-1以下でなければならないの規則処理をしていません。
例えば、
という不正な入力に対しても答えを出してしまいます。
そこで、不正な入力である場合
と表示できるように、変更してください。正しく、入力し直して実行するとコメント文も自動的に消えるようにしてください。
第2話へ 第4話
VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る