В данном одномерном массиве найти сумму первого, третьего и шестого положительных элементов. Также вывести на экран их индексы в массиве.
Алгоритм решения задачи:
- Присвоим счетчику положительных элементов (j) значение 1.
- В переменных i1, i3, i6 будем сохранять индексы найденных соответствующих положительных элементов (первого, третьего и шестого). Изначально присвоим им значение 0.
- Поочередно просматривать элементы данного массива...
- Если очередной элемент положительный, то посмотреть чему равен счетчик положительных элементов. И если он равен 1, 3 или 6, то запомнить в переменной i1, i3 или i6 индекс просматриваемого элемента массива.
- Если шестой положительный элемент был найден, то закончить выполнение цикла досрочно.
- Счетчик положительных элементов увеличивать всякий раз, когда будет встречен положительный элемент.
- Если переменная, содержащая индекс шестого положительного элемента не равна нулю (это значит, что элемент был найден), то вывести на экран индексы 1-го, 3-го и 6-го положительных элементов массива, посчитать сумму их значений и также вывести на экран.
алг поиск в массиве нач цел n; n := 15 цел таб arr[1:n] цел i, j, i1, i3, i6, sum нц для i от 1 до n arr[i] := int(rnd(100)) - 50 вывод arr[i], ' ' кц; вывод нс j := 1 i1 := 0 i3 := 0 i6 := 0 нц для i от 1 до n если arr[i] > 0 то если j = 1 то i1 := i иначе если j = 3 то i3 := i иначе если j = 6 то i6 := i выход все все все j := j + 1 все кц если i6 <> 0 то sum := arr[i1] + arr[i3] + arr[i6] вывод "Индексы элементов: ", i1, ' ', i3, ' ', i6, нс вывод arr[i1] , ' + ', arr[i3], ' + ', arr[i6], ' = ', sum все кон
Пример выполнения программы:
-9 22 -1 48 -42 10 -21 29 -33 -35 -30 21 27 4 9 Индексы элементов: 2 6 13 22 + 10 + 27 = 59
Обновлено