nxn boyutlu bir matrisin determinatını hesaplayan bir function yazdım, ancak functionu cağırıp kullandığımda işlem yapılan matris değişiyor, halbuki functiona gonderdiğim matrisin değişmesini istemiyorum. Aşağıda kodu ekliyorum, benim goremediğim şey nedir?
Public Function Det(ByVal matris(,) As Double, ByVal n As Integer) As Double
Dim oran As Double
For j = 0 To n - 1
For i = j + 1 To n - 1
oran = matris(i, j) / matris(j, j)
For k = 0 To n - 1
matris(i, k) = matris(i, k) - oran * matris(j, k)
Next
Next
Next
Dim Determinant As Double = 1
For i = 0 To n - 1
Determinant = Determinant * matris(i, i)
Next
Return Determinant
End Function
Private Sub btnHesapla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHesapla.Click
Dim n As Integer = Val(txtMatrisBoyutu.Text)
Dim katsayilarMatrisi(,) As Double
ReDim katsayilarMatrisi(n - 1, n - 1)
For i = 0 To n - 1
For j = 0 To n - 1
katsayilarMatrisi(i, j) = InputBox("a" & i + 1 & "," & j + 1 & " elemanını giriniz")
Next
Next
'************** burada matris, fonksiyonla determinant hesaplandıktan sonra değişiyor, sıfırlama yontemiyle bulunan matris oluyor, "katsayilar" matrisinin değişmesini istemiyorum
Dim anaMatris(,) As Double
ReDim anaMatris(n - 1, n - 1)
anaMatris = katsayilarMatrisi
Dim katsayilar As Double = Det(katsayilarMatrisi, n)
'************************************************* *********************
__________________
Function sorunu
Programlama0 Mesaj
●26 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- Function sorunu