PDA

View Full Version : ماتریس



مجتبی کریمی
چهارشنبه 21 فروردین 1387, 22:36 عصر
سلام
تو یه برنامه (آنالیز خرپا) احتیاج دارم اعداد داخل یه ماتریس n*n که تعدادی از ردیف ها و ستون هاش صفر هست رو توی یه ماتریس m*m( که m<n ) بگذارم به طوری که سطر ها و ستون های صفر داخل ماتریس دومی نباشند.





0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 10 0 0
0 0 0 0 0 0
0 0 0 0 10 10
0 0 0 0 10 15

به

10 0 0
0 10 10
0 10 15



ممنون

amirsajjadi
پنج شنبه 22 فروردین 1387, 15:42 عصر
با سلام

Public Class Form1
Const Delete_Char = "DEL"
Private Sub Counter_Array(ByRef m(,) As String)
Dim ar(m.GetUpperBound(1), m.GetUpperBound(0)) As String
For w As Integer = 0 To m.GetUpperBound(0)
For h As Integer = 0 To m.GetUpperBound(1)
ar(h, w) = m(w, h)
Next
Next
m = ar
End Sub

Private Sub Truss_Analyse(ByRef Matris(,) As String)
Dim bool As Boolean = False
For w As Integer = 0 To Matris.GetUpperBound(0)
For h As Integer = 0 To Matris.GetUpperBound(1)
If Matris(w, h) <> "0" AndAlso Matris(w, h) <> Delete_Char Then bool = True
Next
If bool = False Then
For h As Integer = 0 To Matris.GetUpperBound(1)
Matris(w, h) = Delete_Char
Next
End If
bool = False
Next
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim w(,) As String = {{"0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "10", "0", "0"}, {"0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "10", "10"}, {"0", "0", "0", "0", "10", "15"}}
Truss_Analyse(w)
Counter_Array(w)
Truss_Analyse(w)
Counter_Array(w)
For ww As Integer = 0 To w.GetUpperBound(0)
For h As Integer = 0 To w.GetUpperBound(1)
Me.CreateGraphics.DrawString(CStr(w(ww, h)), New Font("tahoma", 8), Brushes.Black, ww * 50, h * 20)
Next
Next
End Sub
End Class