Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Суммирование и перемножение элементов массивовСодержание книги Поиск на нашем сайте
Нахождение суммы или произведения всех или некоторых элементов массива является одной из основных операций при работе с массивами. Пример. Найти сумму элементов одномерного массива Чтобы просуммировать все элементы массива, необходимо переменной, в которой будет храниться значение суммы, присвоить нулевое значение, а затем в цикле нарастить ее величину, последовательно прибавляя к ней значение каждого очередного элемента массива, начиная с первого и заканчивая последним.
Dim A(1 То 15) As Single, i As Integer, S As Single 'Ввод массива • • • S = 0 'Начальное значение суммы For i = 1 То 15 S = S + A(i) 'Накапливание суммы Next i Если требуется вычислить произведение, то в приведенном фрагменте достаточно заменить начальное значение переменной на 1, а знак «+» на «*». Пример. Вычислить произведение элементов, расположенных ниже главной диагонали квадратной матрицы
Главной диагональю квадратной матрицы называется диагональ, проходящая через левый верхний и правый нижний угол, т. е. совокупность элементов с одинаковыми индексами. Соответственно элементы, расположенные на диагонали, проходящей через правый верхний и левый нижний угол, составляют побочную диагональ матрицы. Для перебора элементов матрицы ниже главной диагонали организуем двойной цикл. Во внешнем цикле будем изменять номер строки. Как видно из таблицы индекс i (номер строки) для элементов ниже главной диагонали изменяется от 2 до 5. Во внутреннем цикле будем изменять номер столбца. Как видно, что для второй строки индекс j изменяется от 1 до 1, для третьей - от 1 до 2, для четвертой - от 1 до 3, для пятой - от 1 до 4, т. е. в общем случае - от 1 до
Sub Massiv7() Dim B(l To 5, 1 To 5) As Single Dim i As Integer, j As Integer Dim P As Single 'Произведение
'Ввод матрицы '----------------
'Начальное значение произведения Р = 1 For i = 2 To 5 For j = 1 To i - 1 'Накопление произведения Р = Р * B(i, j) Next j Next i
End Sub
Выбор элементов из массива
Задачи этого типа могут формулироваться по-разному, но в общем случае сводятся к выбору из данного массива элементов с заданными свойствами. Например: в заданном числовом массиве подсчитать количество положительных, отрицательных или нулевых элементов; в массиве целых чисел подсчитать количество четных или нечетных элементов; в таблице функции выбрать значения по модулю большие (или меньшие) заданного; найти сумму или произведение элементов из определенного интервала и т. п.
Пример. Сформировать вектор Y, состоящий из элементов кратных трём целочисленного вектора Для решения поставленной задачи необходимо в цикле для каждого элемента вектора X проверить, делится ли значение элемента на 3 без остатка. Если это условие выполняется, то добавить значение элемента в вектор Y. Так как нельзя заранее точно определить количество элементов в векторе Y, то следует описать его как динамический.
Sub Massiv8() Dim Y() As Integer Dim n As Integer 'Количество элементов в векторе Y Dim X(35) As Integer Dim i As Integer 'Ввод вектора Х '----------------- 'Формирование вектора Y n = О For i = 1 To 35 If X(i) Mod 3 = 0 Then n = n + 1 ReDim Preserve Y(n) Y(n) = X(i) End If Next
'Вывод массива '--------------------- End Sub
Пример. Подсчитать количество элементов матрицы
Sub Massiv9() Dim A(l To 6, 1 To 8) As Single Dim i As Integer, i As Integer Dim n As Integer 'Искомая величина 'Ввод матрицы А '--------------------- 'Подсчет количества элементов по условию задачи п = 0 For i = 1 To 6 For j = 1 To 8 If A(i, j) >= -30 And A(i, j) <= 50 Then n = n + 1 End If Next j Next i End Sub
|
||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2021-11-27; просмотров: 110; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.008 с.) |