ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Построчное вычисление в матрице
При построчном вычислении в матрицах все первоначальные значения для суммы, произведения, количества, минимума и максимума необходимо располагать между операторами начала циклов. При чем, если вычисления производят по строкам, то первым должен быть открыт цикл по строкам, а если вычисления производятся по столбцам, то первым открывают цикл по столбцам. Вывод результатов должен находиться между операторами концов циклов.
Пример 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) 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 ‘ количество столбцов в новом массиве Не нашли, что искали? Воспользуйтесь поиском:
|