←предыдущая следующая→
1 2
txtN.Enabled = False
txtM.Enabled = False
Dim i As Integer, j As Integer
Dim t As Integer, n As Integer, m As Integer
n = Val(txtN.Text)
m = Val(txtM.Text)
ReDim a(n, m) As Integer
ReDim x(n, m) As Integer
Randomize Timer
txtOriginal.Text = Empty
For i = 1 To n
For j = 1 To m
a(i, j) = Int(Rnd * 90) + 10
txtOriginal.Text = txtOriginal.Text & Str(a(i, j)) & " "
Next j
txtOriginal.Text = txtOriginal.Text & vbCrLf
Next i
ReDim vPos(m) As Integer, pos(m) As Integer
Dim tmp As Integer
For j = 1 To m
pos(j) = j
vPos(j) = a(1, j)
For i = 2 To n
If a(i, j) < vPos(j) Then vPos(j) = a(i, j)
Next i
Next j
For t = 1 To m
For i = 1 To m - 1
If vPos(i) < vPos(i + 1) Then
tmp = vPos(i)
vPos(i) = vPos(i + 1)
vPos(i + 1) = tmp
tmp = pos(i)
pos(i) = pos(i + 1)
pos(i + 1) = tmp
End If
Next i
Next t
txtResult.Text = Empty
For i = 1 To n
For j = 1 To m
x(i, j) = a(i, pos(j))
txtResult.Text = txtResult.Text & Str(x(i, j)) & " "
Next j
txtResult.Text = txtResult.Text & vbCrLf
Next i
cmdPrint.Enabled = True
cmdSave.Enabled = True
End Sub
Private Sub cmdSave_Click()
On Error GoTo Err_Lbl:
Open App.Path & "Result.txt" For Output As #1
Print #1, "Задание №7" & vbCrLf & vbCrLf
Print #1, "Случайная матрица:" & vbCrLf
Print #1, txtOriginal.Text & vbCrLf
Print #1, "Полученная матрица:" & vbCrLf
Print #1, txtResult.Text
Close #1
Exit Sub
Err_Lbl:
MsgBox "Произошла ошибка записи", vbCritical, "Внимание"
End Sub
Private Sub txtM_Change()
txtN_Change
End Sub
Private Sub txtM_KeyPress(KeyAscii As Integer)
If KeyAscii < 26 Then Exit Sub
If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End Sub
Private Sub txtN_Change()
If Val(txtN.Text) > 8 Or Val(txtN.Text) = 0 Or Val(txtM.Text) > 8 Or Val(txtM.Text) = 0 Then
cmdRun.Enabled = False
Else
cmdRun.Enabled = True
End If
End Sub
Private Sub txtN_KeyPress(KeyAscii As Integer)
If KeyAscii < 26 Then Exit Sub
If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End Sub
Внешний вид приложения:
Результат работы приложения:
←предыдущая следующая→
1 2
|
|