PDA

View Full Version : سوال: ضرب عدد حداکثر 100 رقمی در عدد حداکثر 3 رقمی



پیمانمیرزائی
شنبه 23 آذر 1387, 18:10 عصر
مشکل این کد چیه فقط برای بعضی از ضرب ها کار می کنه !

Option Explicit
Private Sub Command1_Click()
Dim n1 As String, n2 As String, i As Integer
n1 = InputBox("adade aval", , 102)
n2 = InputBox("adade dovomn", , 222)
n1 = StrReverse(n1)
n2 = StrReverse(n2)
Dim A(100) As Byte, B(100) As Byte
For i = 1 To Len(n1)
A(i) = Val(Mid(n1, i, 1))
Next i
For i = 1 To Len(n2)
B(i) = Val(Mid(n2, i, 1))
Next i
'----------------------------------------------------
Dim C(100) As Byte, D(100) As Byte, E(100) As Byte
Dim R1 As Integer, P As Byte
R1 = Mid(n2, 1, 1)
For i = 1 To 99
P = A(i) * R1
C(i) = P Mod 10
C(i + 1) = C(i + 1) + P \ 10
Next i
'----------------------------------------------------
Dim R2 As Integer, T As Byte
R2 = Mid(n2, 2, 1)
For i = 1 To 98
T = A(i) * R2
D(i + 1) = T Mod 10
D(i + 2) = D(i + 2) + T \ 10
Next i
'---------------------------------------------------
Dim R3 As Integer, Y As Byte
R3 = Mid(n2, 3, 1)
For i = 1 To 97
Y = A(i) * R3
E(i + 2) = Y Mod 10
E(i + 3) = E(i + 3) + Y \ 10
Next i
'----------------------------------------------------
Dim Z As Integer, F(100) As Byte
For i = 1 To 99
Z = C(i) + D(i) + E(i)
F(i) = Z Mod 10
F(i + 1) = F(i + 1) + Z \ 10
Next i
'----------------------------------------------------
Z = 100
Do While (F(Z) = 0)
Z = Z - 1
Loop
'----------------------------------------------------
For i = Z To 1 Step -1
Print F(i);
Next i
End Sub

VB.SOS
شنبه 23 آذر 1387, 23:01 عصر
يه كد براي جمع و ضرب و تفريق و تقسيم تو تاپيك كدها گذاشتم:
http://barnamenevis.org/forum/showthread.php?t=81542&page=30