Dim n As Integer, i As Integer, j As Integer. 'очистка рабочего листа от посторонних надписей
Dim sum As Integer
n = Cells (1, 4)
ReDim a(n, n)
'очистка рабочего листа от посторонних надписей
For i = 1 To 10 * n
For j = 1 To 10 * n
Cells (i + 1, j) = ""
Next j
Next i
'заполнение массива случайными целыми числами
'вывод массива в рабочий лист Excel
Cells (3, 1) = "Исходный массив:"
For i = 1 To n
For j = 1 To n
a(i, j) = 50 - Int (Rnd () * 100)
Cells (i + 3, j) = a(i, j)
Next j
Next i
'сумма элементов над главной диагональю
sum = 0
For i = 1 To n - 1
For j = i + 1 To n
sum = sum + a(i, j)
Next j
Next i
Cells (n+5, 1)="Сумма элементов над главной диагональю равна"& sum
'сумма элементов под главной диагональю
sum = 0
For i = 2 To n
For j = 1 To i - 1
sum = sum + a(i, j)
Next j
Next i
Cells (n+6, 1)="Сумма элементов под главной диагональю равна"& sum
'сумма элементов над побочной диагональю
sum = 0
For i = 1 To n - 1
For j = 1 To n - i
sum = sum + a(i, j)
Next j
Next i
Cells (n+7, 1)="Сумма элементов над побочной диагональю равна"& sum
'сумма элементов под побочной диагональю
sum = 0
For i = 2 To n
For j = n - i + 2 To n
sum = sum + a(i, j)
Next j
Next i
Cells (n+8, 1)="Сумма элементов под побочной диагональю равна"& sum
End Sub
Результат выполнения программы:

Пример 12. Дана матрица А(n, m). Отсортировать каждую строку в порядке возрастания.
Для решения задачи:
1) вводим размеры массива А(n, m) и значения его элементов;
2) просматриваем строки массива и упорядочиваем их;
3) выводим матрицу.
Для решения этой задачи воспользуемся алгоритмом упорядочивания одномерного массива. Сравниваем между собой первый и второй элементы строки массива и переставляем их, если это необходимо в порядке возрастания. Затем то же самое проделываем со вторым и третьим элементами и т.д. до конца строки массива. В результате этих сравнений и перестановок наибольшее число строки окажется последним.
Второй этап сравнений и перестановок будем производить для (n – 1) элементов строки, начиная с первого. В этом случае предпоследним окажется наибольший из (n – 1) членов строки массива. Уменьшая каждый раз количество рассматриваемых элементов на единицу, операции сравнения и перестановок закончим тогда, когда останется всего один элемент строки массива.
Подобные операции выполняем для каждой строки по отдельности.
Перестановку элементов будем осуществлять с помощью промежу-точной переменной prom.
Sub primer_12()
Dim a() As Integer
Не нашли, что искали? Воспользуйтесь поиском:
|