
InputVector(a, "a")
OutputVector(A, TextBox1)
TextBox1.AppendText("Вектор B" & vbCrLf)
InputVector(b, "b")
OutputVector(B, TextBox1)
TextBox1.AppendText("Вектор C" & vbCrLf)
InputVector(C, "C")
OutputVector(C, TextBox1)
P1 = Proverka(A, B)
P2 = Proverka(A, C)
P3 = Proverka(B, C)
If P1 = True Then
TextBox1.AppendText("А и В эквивалентны " & vbCrLf)
Else
TextBox1.AppendText("А и В не эквивалентны " & vbCrLf)
End If
If P2 = True Then
TextBox1.AppendText("А и С эквивалентны " & vbCrLf)
Else
TextBox1.AppendText("А и С не эквивалентны " & vbCrLf)
End If
If P3 = True Then
TextBox1.AppendText("В и С эквивалентны " & vbCrLf)
Else
TextBox1.AppendText("В и С не эквивалентны " & vbCrLf)
End If
End Sub
_____________________________________________________________________________________
Function Proverka(ByVal x() As Single, ByVal y() As Single) As Boolean
Dim i, K As Integer
K = 0
For i = 1 To x.GetUpperBound(0)
If x(i) = y(i) Then
K = K + 1
End If
If K = x.GetUpperBound(0) Then
Proverka = True
Else
Proverka = False
End If
Next
End Function
_____________________________________________________________________________________
Private Sub InputVector(ByRef x() As Single, Optional ByVal VectorName As String = "элемент")
Dim i As Integer
For i = 1 To x.GetUpperBound(0)
x(i) = InputBox(VectorName & "(" & i & ") = ?")
Next
End Sub
_____________________________________________________________________________________
Private Sub OutputVector(ByVal x() As Single, ByVal y As TextBox)
Dim i As Integer
For i = 1 To x.GetUpperBound(0)
y.AppendText(x(i) & vbTab)
Next
y.AppendText(vbCrLf)
End Sub
_____________________________________________________________________________________
End Class
7. Составьте процедуру для определения минимального элемента матрицы. Используя эту процедуру, для трех заданных матриц А, В, и С установите и выведите наибольшее значение среди их минимальных элементов.
Public Class Form1
_____________________________________________________________________________________
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim A(,), B(,), C(,) As Single
Dim n, m, k As Integer
TextBox1.Clear()
n = InputBox("Количество строк и столбцов матрицы А, n = ")
m = InputBox("Количество строк и столбцов матрицы B, m = ")
k = InputBox("Количество строк и столбцов матрицы C, k = ")
ReDim A(n, n)
ReDim B(m, m)
ReDim C(k, k)
TextBox1.AppendText("Матрица А " & vbCrLf)
InputMatrix(A, "A")
OutputMatrix(A, TextBox1)
TextBox1.AppendText("Матрица В " & vbCrLf)
InputMatrix(B, "B")
OutputMatrix(B, TextBox1)
TextBox1.AppendText("Матрица С " & vbCrLf)
InputMatrix(C, "C")
OutputMatrix(C, TextBox1)
MinElement(A)
MinElement(B)
MinElement(C)
If (MinElement(A) > MinElement(B) And MinElement(A) > MinElement(C)) Then
TextBox1.AppendText("Наибольшее значение среди минимальных эл-тов матриц = " & MinElement(A) & vbCrLf)
End If
If MinElement(B) > MinElement(C) Then
TextBox1.AppendText("Наибольшее значение среди минимальных эл-тов матриц = " & MinElement(B) & vbCrLf)
Else
TextBox1.AppendText("Наибольшее значение среди минимальных эл-тов матриц = " & MinElement(C) & vbCrLf)
End If
End Sub
_____________________________________________________________________________________
Function MinElement(ByVal x(,) As Single)
Dim m, i, j As Integer
m = x(1, 1)
For i = 1 To x.GetUpperBound(0)
For j = 1 To x.GetUpperBound(1)
If m > x(i, j) Then
m = x(i, j)
End If
Next
Next
MinElement = m
End Function
_____________________________________________________________________________________
Private Sub InputMatrix(ByRef x(,) As Single, Optional ByVal ArrayName As String = "элемент")
Dim i, j As Integer
For i = 1 To x.GetUpperBound(0)
For j = 1 To x.GetUpperBound(1)
x(i, j) = InputBox(ArrayName & "(" & i & "," & j & ") = ?")
Next
Next
End Sub
_____________________________________________________________________________________
Private Sub OutputMatrix(ByVal x(,) As Single, _
ByVal y As TextBox)
Dim i, j As Integer
For i = 1 To x.GetUpperBound(0)
For j = 1 To x.GetUpperBound(1)
y.AppendText(x(i, j) & vbTab)
Next
y.AppendText(vbCrLf)
Next
End Sub
_____________________________________________________________________________________
End Class
8. Составьте процедуру для определения индексов элемента матрицы, значение которого наименее отличается от среднего значения элементов этой же матрицы. Используя эту процедуру установите, в какой из двух заданных матриц А или В сумма этих индексов имеет наибольшее значение.
Imports System.Math
____________________________________________________________________________________
Public Class Form1
____________________________________________________________________________________
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim m, n As Integer
Dim A(,), B(,), InA, InB As Single
TextBox1.Clear()
n = InputBox("Количество строк и столбцов матрицы А, n = ")
m = InputBox("Количество строк и столбцов матрицы B, m = ")
ReDim A(n, n)
ReDim B(m, m)
TextBox1.AppendText("Марица А" & vbCrLf)
InputMatrix(A, "A")
OutputMatrix(A, TextBox1)
InA = Index(A)
TextBox1.AppendText("Марица B" & vbCrLf)
InputMatrix(B, "B")
OutputMatrix(B, TextBox1)
InB = Index(B)
TextBox1.AppendText("Index A = " & InA & vbCrLf)
TextBox1.AppendText("Index B = " & InB & vbCrLf)
If InA > InB Then
TextBox1.AppendText("Сумма индексов матрицы А имеет наибольшее значение = " & InA & vbCrLf)
Else
TextBox1.AppendText("Сумма индексов матрицы B имеет наибольшее значение = " & InB & vbCrLf)
End If
End Sub
____________________________________________________________________________________
Function Index(ByVal x(,) As Single) As Single
Dim i, j, ii, jj As Integer
Dim Srednee, S, K, D As Single
ii = 1
jj = 1
S = 0
For i = 1 To x.GetUpperBound(0)
For j = 1 To x.GetUpperBound(1)
S = S + x(i, j)
Next
Next
Srednee = S / (x.GetUpperBound(0) * x.GetUpperBound(0))
K = Abs(Srednee - x(1, 1))
For i = 1 To x.GetUpperBound(0)
For j = 1 To x.GetUpperBound(1)
D = Abs(Srednee - x(i, j))
If D < K Then
K = D
ii = i
jj = j
End If
Next
Next
TextBox1.AppendText("Среднее значение матрицы = " & Srednee & vbCrLf)
Index = ii + jj
End Function
____________________________________________________________________________________
Private Sub InputMatrix(ByRef x(,) As Single, Optional ByVal ArrayName As String = "элемент")
Dim i, j As Integer
For i = 1 To x.GetUpperBound(0)
For j = 1 To x.GetUpperBound(1)
x(i, j) = InputBox(ArrayName & "(" & i & "," & j & ") = ?")
Next
Next
End Sub
____________________________________________________________________________________
Private Sub OutputMatrix(ByVal x(,) As Single, _
ByVal y As TextBox)
Dim i, j As Integer
For i = 1 To x.GetUpperBound(0)
For j = 1 To x.GetUpperBound(1)
y.AppendText(x(i, j) & vbTab)
Next
y.AppendText(vbCrLf)
Next
End Sub
____________________________________________________________________________________
End Class