Создадим форму по
приведенному образцу. Для вывода массива добавим на форму два элемента ListBox,
добавим две командные кнопки CommandButton для ввода массива и сортировки
массива.
Dim x() As Single,
i As Integer, j As Integer, a As Single, n As Integer – объявляем динамический массив
и переменные в модуле General (Decaration);
Private Sub
Command1_Click()-ввод массива;
n =
Val(InputBox("Размер массива", "Ввод размера массива")) –
через диалоговое окно вводим размер массива;
ReDim x(n) As Single
– переобъявляем массив указывая размерность;
For i = 1 To n
x(i) = Val(InputBox("x(i)=",
"Ввод массива")) – вводим элементы массива через диалоговое окно InputBox;
Next i
For i = 1 To n
List1.AddItem Str(x(i))
– выводим данные массива в список;
Next i
End Sub
Private Sub
Command2_Click()- сортировка массива;
For i = 1 To n -
1
в цикле сравниваем каждый
предыдущий элемент массива (x(i)) со следующим (x(j)), если x(i) оказался больше x(j),
то его значение присваиваем переменной а, переменной x(i) присваиваем значение x(j),
а в переменную x(j) вносим значение
временной переменной a.
|
|
For j = i + 1 To n
If x(i) > x(j) Then
a = x(i)
x(i) = x(j)
x(j) = a
End If
Next
Next
For i = 1 To n -
вывод отсортированного массива;
List2.AddItem
Str(x(i))
Next i
End Sub
Обработка массива
Создайте форму
достаточно большого размера, внизу формы поместите командную кнопку. Результаты
вычислений будут выводиться на форму с помощью команды Print.
Dim A(3, 3) As
Single
Private Sub
Command1_Click()
For i = 0 To 3
For j = 0 To 3
A(i, j) = InputBox("введите
элементы массива")
Next
Next
For i = 0 To 3
For j = 0 To 3
Print A(i, j);
Next
Print
Next
Rem вычисление
суммы элементов
S = 0
For i = 0 To 3
For j = 0 To 3
S = S + A(i, j)
Next
Next
Print "Сумма
элементов", S
Rem Вычисление
среднего арифметического
V = S / 16
Print
"Среднее арифметическое", V
Rem Произведение
элементов матрицы
P = 1
For i = 0 To 3
For j = 0 To 3
P = P * A(i, j)
Next
Next
Print
"Произведение элементов массива"; P
Rem Вычисление
минимального элемента матрицы
M = A(1, 1)
k = 1
l = 1
For i = 0 To 3
For j = 0 To 3
If M <= A(i, j) Then GoTo 10 Else
M = A(i, j)
k = i
l = j
10 Next
Next
Print
"Минимальный элемент, M("; k; ","; l; ")="; M
Rem Вычисление
максимального элемента матрицы
M = A(1, 1)
k = 1
l = 1
For i = 0 To 3
For j = 0 To 3
If M >= A(i, j) Then GoTo 20 Else
M = A(i, j)
k = i
l = j
20 Next
Next
Print
"Максимальный элемент,M("; k; ","; l; ")="; M
Rem Вычисление
суммы элементов главной диагонали
F = 0
For i = 0 To 3
F = F + A(i, i)
Next
Print "Сумма
элементов главной диагонали"; F
Rem Количество
элементов в заданном диапазоне
N = 0
For i = 0 To 3
For j = 0 To 3
If A(i, j) >= -1 And A(i, j) <= 1
Then N = N + 1
Next
Next
Print
"Количество элементов в диапазоне от -1 до 1"; N
End Sub
|