Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Программный код:
For i = 1 To M
For j = 1 To N
Cells(i,j) = A(i,j)
Next j
Next i
11.1.3. Преобразования двумерного массива
Над массивами можно выполнять такие операции, как транспонирование и перемножение. Для выполнения данных операций в программу вводится дополнительный массив Z(i, j). Результат поэлементного перемножения массива A(i, j) на массив В(i, j) заносится в массив Z(i, j) с помощью следующего фрагмента программного кода:
For i = 1 To M
For j = 1 To N
Z(i,j) = A(i,j)* B(i,j)
Next j
Next i
Транспонированный массив А(i, j)Т заносится в массив Z(i, j) с помощью следующего фрагмента программного кода:
For j = 1 To N
Z(i,j) = A(j,i)
Next j
Next i
Пример 1. Заполнить квадратный массив четвертого порядка случайными числами, транспонировать полученный результат и умножить его на . Вывести результаты работы программы на рабочий лист с пояснениями. Графическая схема алгоритма для данной программы приведена на рис. 11.3. Результат работы программы представлен на рис. 11.4.
Программный код:
Option Explicit
Sub PR1 ()
Dim A(4, 4) As Integer ‘задаем массив для заполнения
Dim Z(4, 4) As Integer ‘задаем массив для вывода результата
Dim i As Integer, j As Integer, B As Single
B = Val(InputBox("Введите множитель"))
Range(Cells(1, 1), Cells(N, N)).Select ‘ выделение диапазона ячеек
Selection.Clear ‘удаление содержимого выделенных ячеек
Cells(1, 1).Select ‘отмена выделения диапазона ячеек
Randomize
For i = 1 To 4 ‘цикл по строкам массива
For j = 1 To 4 ‘цикл по столбцам массива
A(i, j) = Int(100 * Rnd + 1)
Next j
Next i
For i = 1 To 4 ‘транспонирование и умножение массива
For j = 1 To 4
Z(i, j) = A(j, i)*B
Next j
Next I
Cells(1, 1) = "Исходная матрица"
Cells(1, 2 + 4) = "Преобразованная матрица"
For i = 1 To 4
For j = 1 To 4
Cells(i + 1, j) = A(i, j) ‘вывод исходного массива
Cells(i + 1, 1 + 4 + j) = Z(i, j) ‘вывод преобразованного массива
Next j
Next i
End Sub
|
П р и м е р 2. Вычислить произведение и сумму элементов матрицы А.
Матрицу ввести с рабочего листа Excel, результат работы программы – в окно MsgBox с пояснениями. ГСА вычисления произведения и суммы элементов матрицы изображена на рис. 11.5.
Рис. 11.3. ГСА транспонирования и умножения массива
Рис.11.5. ГСА вычисления произведения и суммы элементов матрицы
Программный код:
Option Explicit
Sub PR2 ()
Dim A(1 to 10, 1 to 10) As Integer ‘задаем массив для заполнения
Dim N As Integer, M As Integer, i As Integer, j As Integer
Dim S As Single, P As Single
N = Val(InputBox("Введите количество строк матрицы"))
М = Val(InputBox("Введите количество столбцов матрицы"))
For i = 1 To N ‘цикл по строкам массива
For j = 1 To N ‘цикл по столбцам массива
A(i, j) = Сells(i, j)
Next j
Next I
S = 0: P = 1 ‘начальные значения суммы и произведения
For i = 1 To N
For j = 1 To N
S = S + A(i, j): P = P* A(i, j)
Next j
Next I
MsgBox ("Сумма элементов =" & S)
MsgBox ("Произведение элементов " & P)
End Sub
Дата публикования: 2015-04-06; Прочитано: 475 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!