Построчное вычисление в матрице
При построчном вычислении в матрицах все первоначальные значения для суммы, произведения, количества, минимума и максимума необходимо располагать между операторами начала циклов, причем если вычисления производят по строкам, то первым должен быть открыт цикл по строкам, а если вычисления производят по столбцам, то первым открывают цикл по столбцам. Вывод результатов должен находиться между операторами концов циклов.
Пример 1
Задана целочисленная матрица А(5, 5). В каждом столбце матрицы вычислить произведение отрицательных элементов.
Рассмотрим фрагмент программы, вычисляющий произведение.
For j = 1 To 5 ‘ открываем цикл по столбцам
P = 1 ‘ задаем начальное значение для произведения
For i = 1 To 5 ‘ открываем цикл по строкам
If A(i, j) > 0 Then P = P * A(i, j) ‘ вычисляем произведение
Next i ‘ элементов в столбце
Cells(7, j) = P ‘ выводим результат
Next j
Пример 2
Задана целочисленная матрица Z(n, n). В каждой четной строке матрицы вычислить сумму четных элементов и количество нечетных элементов.
Здесь и далее будем рассматривать только основную часть программы, в которой производятся вычисления.
i = 2
While i <= N
S = 0 : K = 0
For j = 1 To N
If Z(i, j) mod 2 = 0 Then S = S + Z(i, j)
If Z(i, j) mod 2 <> 0 Then K = K + 1
Next j
Cells(N + 1 + i, 1) = "сумма=" : Cells(N + 1 + i, 2) = S
Cells(N + 2 + i, 1) = "количество=" : Cells(N + 2 + i, 2) = K
i = i + 2
Wend
Пример 3
В каждом столбце матрицы Х(4, 4) вычислить максимум, а затем определить минимум из этих максимумов.
Min = 32000
For j = 1 To 4
Max = – 32000
For i = 1 To 4
If X(i, j) > Max Then Max = X(i, j)
Next i
Cells(6, 1) = "максимум=" : Cells(6, j+1) = Max
If Max < Min Then Min = Max
Next j
Cells(6+i, 1) = "минимум=" : Cells(6+i, 3) = Min
Пример 4
Задан целочисленный двумерный массив Х(N, N). В каждой строке массива все элементы расположить по возрастанию.
For i = 1 To N
For k = 1 To N–1 ‘ начало сортировки строки методом “пузырька”
For j = 1 To N–k
If X(i, j) > X(i, j+1) Then
R = X(i, j)
X(i, j) = X(i, j+1)
X(I, j+1) = R
End If
Next j
Next k
Next i
Пример 5
В матрице P(N, N) поменять местами первую и последнюю строки.
For j = 1 To N
R = P(1, j)
P(1, j) = P(N, j)
P(N, j) = R
Next j
Пример 6
В матрице Q(N, N) удалить строку, в которой находится максимальный элемент.
Max = – 32000
For i = 1 To N
For j = 1 To N
If Q(i, j) > Max Then ‘ вычисление максимального элемента и
Max = Q(i, j) ‘ его номера
iMax = i
End If
Next j
Next i
For i = iMax To N–1 ‘ удаление элементов из строки, в которой
For j = 1 To N ‘ находится максимальный элемент
Q(i, j) = Q(i+1, j)
Next j
Next i
M = N – 1 ‘количество строк в новом массиве
‘ вывод нового массива
For i = 1 To M
For j = 1 To N
Cells(i+N+1, j) = Q(i, j)
Next j
Next i
Пример 7
В двумерный массив T(N, N) между третьим и четвертым столбцами вставить новый столбец случайных чисел.
For j = N+1 To 3 Step –1
For i = 1 To N
T(i, j) = T(i, j – 1)
Next i
Next j
‘ Вставка столбца
For i = 1 To N
T(i, 3+1) = Int(Rnd * 100 – 50)
Next i
M = N+1 ‘ количество столбцов в новом массиве
Дата добавления: 2015-11-20; просмотров: 735;