Показать сообщение отдельно
Старый 14.04.2019, 09:32   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Alessandro4 Посмотреть сообщение
Объясните, как работает произведение элементов массива
Давайте разберём на примере. Пусть нам нужно найти произведение элементов массива, стоящих на ЧЕТНЫХ позициях. Зададим массив:
7 2 9 1 3 5 6, т.е. N=7.
Нам нужно найти произведение 2*1*5, т.е. произведение A[2]*A[4]*A[6].
1. Искомому произведению P изначально присваиваем значение 1.
2. Находим (N div 2), т.е результат ЦЕЛОЧИСЛЕННОГО деления N на 2, в данном случае это 3.
3. Проходим в цикле по i от 1 до 3 домножение произведения P на элементы A[2i], т.е. при изменении i от 1 до 3 номера элементов будут приобретать значения 2, 4, 6. Что нам и требуется. Всё!
Цитата:
Сообщение от Alessandro4 Посмотреть сообщение
сумма элементов массива особенно циклы repeat и также строчку с for
Тут так. Задача: найти первый и последний нулевые элементы, и сосчитать сумму элементов между ними. Обозначим номера этих нулевых элементов, как Ifirst и Ilast соответственно. Найдём их.
Для этого:
1. Присваиваем Ifirst значение 0. Далее в цикле repeat..until прибавляем к Ifirst по единичке до тех пор, пока не выполнится условие A[Ifirst]=0. Всё, нашли номер первого нулевого элемента.
2. Присваиваем Ilast значение N+1. Далее в цикле repeat..until убавляем от Ilast по единичке до тех пор, пока не выполнится условие A[Ilast]=0. Так находим номер последнего нулевого элемента.
3. Присваиваем искомой сумме S начальное значение 0, а затем в цикле for..to прибавляем к S значения элементов с номерами между Ifirst и Ilast. Всё!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070