- •Максимальный в строке выводим справа
- •Минимальный справа в столбец
- •Обратная диагональ с минимальными значениями
- •Сортировка столбцов по возрастанию
- •Сортировка строк по возрастанию
- •Среднее значение справа
- •Среднее по столбцам снизу
- •Сумма столбцов снизу
- •Минимальный в столбце на обратнуую диагональ
Максимальный в строке выводим справа
Dim m, n As Integer
Dim arr(), maxs(), ext() As Integer
Private Sub Command1_Click()
If Option1.Value = True Then
m = Int(Rnd * 10)
n = Int(Rnd * 10)
Else
m = Val(InputBox("введи кол-во столбцов")) - 1
n = Val(InputBox("введите количество строк")) - 1
End If
ReDim arr(n, m), maxs(n), ext(n, m + 1)
Call Fillmatrix
Call findmax
Call concatArrays
Label1.Caption = getstr(arr, n, m)
Label2.Caption = getstr(ext, n, m + 1)
End Sub
Sub Fillmatrix()
For i = 0 To n
For j = 0 To m
arr(i, j) = Int(Rnd * 10)
Next j
Next i
End Sub
Sub findmax()
Dim max As Integer
For i = 0 To n
max = arr(i, 0)
For j = 0 To m
If arr(i, j) > max Then max = arr(i, j)
Next j
maxs(i) = max
Next i
End Sub
Sub concatArrays()
For i = 0 To n
For j = 0 To m + 1
If j = m + 1 Then
ext(i, j) = maxs(i)
Else
ext(i, j) = arr(i, j)
End If
Next j
Next i
End Sub
Function getstr(ar, an, am) As String
getstr = ""
For i = 0 To an
For j = 0 To am
getstr = getstr & ar(i, j) & " "
Next j
getstr = getstr & Chr(13)
Next i
End Function
Минимальный справа в столбец
Dim n, m As Integer
Dim arr() As Integer
Dim mins() As Integer
Dim ext() As Integer
Private Sub cancel_btn_Click()
Form1.Hide
End Sub
Private Sub ok_btn_Click()
If Option1.Value = True Then
m = Int(Rnd * 10)
n = Int(Rnd * 10)
Else
m = Val(InputBox("Введите число столбцов", "Ввод данных")) - 1
n = Val(InputBox("Введите число строк", "Ввод данных")) - 1
End If
ReDim arr(n, m), mins(n), ext(n, m + 1)
Call fillMatrix(arr)
Call findMinimalElems(arr, mins)
Call concatArrays(arr, mins, ext)
Label1.Caption = getStr(arr, n, m)
Label2.Caption = getStr(ext, n, m + 1)
End Sub
Private Sub fillMatrix(z)
For i = 0 To n
For j = 0 To m
z(i, j) = Int(Rnd() * 10)
Next j
Next i
End Sub
Private Sub findMinimalElems(z, t)
Dim min As Integer
For i = 0 To n
min = z(i, 0)
For j = 0 To m
If z(i, j) < min Then min = z(i, j)
Next j
t(i) = min
Next i
End Sub
Private Sub concatArrays(z, t, k)
For i = 0 To n
For j = 0 To m + 1
If j = m + 1 Then
k(i, j) = t(i)
Else
k(i, j) = z(i, j)
End If
Next j
Next i
End Sub
Function getStr(ar, an, am) As String
getStr = ""
For i = 0 To an
For j = 0 To am
getStr = getStr & ar(i, j) & " "
Next j
getStr = getStr & Chr(13)
Next i
End Function
Обратная диагональ с минимальными значениями
Option Explicit
Dim i, j As Integer
' m - Число столбцов
' n - Число строк
Dim n, m As Integer
' Двумерный массив в котором записана матрица
Dim arr() As Integer
' Функция вызывается при нажатии на кнопку "Отмена"
' Скрывает первую форму
Private Sub cancel_btn_Click()
Form1.Hide
End Sub
' Функция вызывается при нажатии на кнопку "ОК"
Private Sub ok_btn_Click()
If first_rb.Value = True Then
m = Int(Rnd * 10)
n = Int(Rnd * 5)
Else
m = Val(InputBox("Введите число столбцов", "Ввод данных")) - 1
n = Val(InputBox("Введите число строк", "Ввод данных")) - 1
End If
ReDim arr(n, m)
Call fillMatrix
Label1.Caption = getStr(arr, n, m)
Call actionWithMatrix
Label2.Caption = getStr(arr, n, m)
End Sub
' Заполняет указанный массив случайными целыми числами от 0 до 10
' z - Двумерный массив
Private Sub fillMatrix()
For i = 0 To n
For j = 0 To m
arr(i, j) = Int(Rnd() * 10)
Next j
Next i
End Sub
Private Sub actionWithMatrix()
Dim min, temp, jk As Integer
For i = 0 To n
min = arr(0, 0)
For j = 0 To m
If arr(i, j) < min Then
min = arr(i, j)
jk = j
End If
Next j
arr(i, jk) = arr(i, m - i)
arr(i, m - i) = min
Next i
End Sub
' Возвращает строку-матрицу составленную из массива
' ar - Двумерный массив
' an - Число строк
' am - Число столбцов
Private Function getStr(ar, an, am) As String
getStr = ""
For i = 0 To an
For j = 0 To am
getStr = LTrim(getStr + Str(ar(i, j)) + " ")
Next j
getStr = getStr + vbNewLine
Next i
End Function