Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
oGvDo
0 / 0 / 0
Регистрация: 13.11.2011
Сообщений: 11
#1

Произведение элементов между первым и последним нулевым элементом. - C++

15.11.2011, 22:00. Просмотров 439. Ответов 3
Метки нет (Все метки)

Помогите с программой на C++:
В одномерном массиве вычислить произведение элементов, расположенных между первым и последним нулевыми элементами.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2011, 22:00     Произведение элементов между первым и последним нулевым элементом.
Посмотрите здесь:

Найти сумму элементов массива, находящихся между первым и последним отрицательным элементом C++
C++ Найти количество элементов массива, содержащихся между первым и последним максимальным элементом
Сумма элементов массива, расположенных между первым и последним положительным элементом C++
Сумма элементов массива, расположенных между первым и последним элементом C++
Сумма элементов между первым положительным элементом массива и последним отрицательным C++
C++ Одномерные массивы (вычислить произведение элементов, сумму элементов массива между первым и последним нулевыми, преобразовать)
Найти количество элементов массива, которые находится между первым и последним отрицательным элементом C++
Найти произведение элементов массива расположенных между первым и последним отрицательными элементами C++
Произведение элементов массива с четными индексами, сумма элементов между первым и последним нулями C++
Найти произведение элементов массива расположеным между первым и вторым нулевым элементом C++
C++ Вычислить произведение элементов массива расположенных между первым и последним отрицательными элементами
C++ Вычислить номер максимального элемента массива и произведение между первым и вторым нулевым элементом

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
15.11.2011, 22:05     Произведение элементов между первым и последним нулевым элементом. #2
на форуме недавно были такие темы. ищите

Добавлено через 1 минуту
вот небольшой поиск нулевых элементов
C
1
2
3
4
5
6
7
8
9
int idx_first_null, idx_second_null;
 
for(int i = arr_size- 1; i >= 0; --i)
    if(!arr[i])
        idx_first_null = i;
 
for(int i = arr_size - 1; i >= 0; --i)
   if(!arr[i] && i != idx_first_null)
       idx_second_null = i;
oGvDo
0 / 0 / 0
Регистрация: 13.11.2011
Сообщений: 11
15.11.2011, 22:16  [ТС]     Произведение элементов между первым и последним нулевым элементом. #3
Благодарю!
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
15.11.2011, 22:20     Произведение элементов между первым и последним нулевым элементом. #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <algorithm>
#include <numeric>
#include <vector>
 
int main()
{
    std::vector<int> vec = {1,2,0,3,4,0,5,6};
    std::vector<int>::iterator first_zero = std::find(vec.begin(), vec.end(), 0);
    if (first_zero == vec.end())
    {
         std::cerr << "No zero elements" << std::endl;
         return 1;
    }
    std::vector<int>::iterator second_zero = std::find(first_zero + 1, vec.end(), 0);
    if (second_zero == vec.end())
    {
         std::cerr << "Only one zero element" << std::endl;
         return 1;
    }
    std::cout << "Multi is: " << std::accumulate(first_zero + 1, second_zero, 1, 
    [](const int first, const int second) {return second * first;});
}
Yandex
Объявления
15.11.2011, 22:20     Произведение элементов между первым и последним нулевым элементом.
Ответ Создать тему
Опции темы

Текущее время: 14:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru