Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsia_Dvumernye_massivy.doc
Скачиваний:
7
Добавлен:
02.05.2015
Размер:
122.37 Кб
Скачать

Построчное вычисление в матрице

При построчном вычислении в матрицах все первоначальные значения для суммы, произведения, количества, минимума и максимума необходимо располагать между операторами начала циклов, причем если вычисления производят по строкам, то первым должен быть открыт цикл по строкам, а если вычисления производят по столбцам, то первым открывают цикл по столбцам. Вывод результатов должен находиться между операторами концов циклов.

Пример 1

Задана целочисленная матрица А(5, 5). В каждом столбце матрицы вычислить произведение отрицательных элементов.

Рассмотрим фрагмент программы, вычисляющий произведение.

Forj= 1To5 ‘ открываем цикл по столбцам

P= 1 ‘ задаем начальное значение для произведения

Fori= 1To5 ‘ открываем цикл по строкам

If A(i, j) > 0 Then P = P * A(i, j) ‘ вычисляем произведение

Nexti‘ элементов в столбце

Cells(7,j) =P‘ выводим результат

Nextj

Пример 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). В каждой строке массива все элементы расположить по возрастанию.

Fori= 1ToN

Fork= 1ToN–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

IfQ(i,j) >MaxThen‘ вычисление максимального элемента и

Max=Q(i,j) ‘ его номера

iMax = i

End If

Next j

Nexti

Fori=iMaxToN–1 ‘ удаление элементов из строки, в которой

Forj= 1ToN‘ находится максимальный элемент

Q(i, j) = Q(i+1, j)

Next j

Nexti

M=N– 1 ‘количество строк в новом массиве

‘ вывод нового массива

Fori= 1ToM

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 ‘ количество столбцов в новом массиве

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]