PDA

View Full Version : سوال: مشکل این تکه کد چیه؟؟ (ضرب ماتریس)



topenjoy
دوشنبه 25 اردیبهشت 1391, 10:44 صبح
سلام من مبتدی هستم تو این برنامه که نوشتم دو ماتریس 2x2 را با هم ضرب می کنم اما یه مشکل داره اونم اینه که مثلا ماتریس اول 3 5 4 6 در 2 2 2 2 ضرب بشه جواب برنامه 14 14 22 22 میشه!!!
ممنون میشم یه نگاهی بهش بندازین و مشکلشو بگید که کجاست
مرسی

Option Base 1
Dim b() As Single
Dim c() As Single
Dim a() As Single
Private Sub Command1_Click()

ReDim a(2, 2)
ReDim b(2, 2)
ReDim c(2, 2)

a(1, 1) = Val(Text1.Text)
a(1, 2) = Val(Text2.Text)
a(2, 1) = Val(Text3.Text)
a(2, 2) = Val(Text4.Text)

b(1, 1) = Val(Text5.Text)
b(1, 2) = Val(Text6.Text)
b(2, 1) = Val(Text7.Text)
b(2, 2) = Val(Text8.Text)


For i = 1 To 2
For j = 1 To 2
For k = 1 To 2
c(i, j) = c(i, j) + a(i, k) * b(k, j)
Next k
Next j
Next i


lbl1.Caption = c(1, 1)
lbl2.Caption = c(1, 2)
lbl3.Caption = c(2, 1)
lbl4.Caption = c(2, 2)


End Sub

ASedJavad
دوشنبه 25 اردیبهشت 1391, 12:13 عصر
من تست کردم ظاهرا درست کار کرد و مشکلی نداشت جواب 20 20 16 16 بود

احتمالا شما تکست 2 و 3 رو جابجا گذاشتید یا شاید هم تکست یک و چهار رو

m.4.r.m
دوشنبه 25 اردیبهشت 1391, 14:04 عصر
احتماالا این حلقه ها :

For i = 1 To 2
For j = 1 To 2
For k = 1 To 2


نباید اینطوری باشن :

For i = 1 To 2
For j = i To 2
For k = j To 2

topenjoy
دوشنبه 25 اردیبهشت 1391, 15:39 عصر
ممنون خیلی لطف کردید بله درسته دقت نکردم جای تکست رو اشتباه گذاشتم :خجالت:
خیلی خیلی ممنون

حلقه هم مشکلی نداره دوست من ممنون بابت توجهت

alireza661
دوشنبه 25 اردیبهشت 1391, 23:27 عصر
کلید close مسیج باکس را چگونه غیرفعال کنم؟

arenaw
سه شنبه 26 اردیبهشت 1391, 00:45 صبح
کلید close مسیج باکس را چگونه غیرفعال کنم؟
اگه بخوای غیر فعال کنی نمیدونم ولی اینجوری اگه close بشه دوباره مسیج نشون داده میشه

Do
i = MsgBox("Halet khube?", vbYesNoCancel)
Loop While i = 2