Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
слон11
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 1
1

Найти количество элементов массива равных нулю

25.11.2016, 17:45. Просмотров 497. Ответов 2
Метки нет (Все метки)

Дан одномерный массив заданный генератором случайных чисел. Найти количество элементов массива, равных 0.А так же, сумму элементов массива, расположеных после минимального элемента.
Проблема с компиляцией в DEV++ не пойму где тут ошибка буду благодарен если исправите и если не трудно напишите комментарий к каждой команде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <random>
#include <algorithm>
using namespace std;
 
int main() {
    std::default_random_engine generator;
    std::uniform_int_distribution<int> distribution(-3,8);
    vector<int> array(20);
    generate(array.begin(), array.end(), [&distribution,&generator](){return distribution(generator);});
    cout << "Массив: ";
    for(auto x:array){
        cout << x << " ";
    }
    cout << endl << "Элементов, равных 0 - " << count_if(array.begin(), array.end(), [](auto x){return x==0;});
    int sum = 0;
    for_each(min_element(array.begin(), array.end()),array.end(),[&sum](int x){sum+=x;});
    cout << endl << "Сумма после минимума - " << sum;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2016, 17:45
Ответы с готовыми решениями:

Найти количество элементов массива равных нулю
С одномерным массивом, состоящим из n вещественных элементов, произвести...

Определите количество элементов массива равных нулю.
1. Определите количество элементов массива равных нулю.

Определите количество элементов массива равных нулю
Определите количество элементов массива равных нулю

Вычислить количество элементов массива, равных нулю
1 задание) Вычислить количество элементов массива, равных нулю. 2 задание)...

В заданной матрице найти количество элементов равных нулю
Находит элемент 0, но показывает это в трех строках. Как сделать так, чтобы...

2
MrGluck
Модератор
Эксперт CЭксперт С++
8101 / 4952 / 1436
Регистрация: 29.11.2010
Сообщений: 13,437
25.11.2016, 18:11 2
Цитата Сообщение от слон11 Посмотреть сообщение
Проблема с компиляцией в DEV++
Код не содержит ошибок компиляции: http://rextester.com/IRUI95050 Мб у вас Dev со стареньким компиляторов стоит? Попробуйте Dev-cpp от Orwell http://orwelldevcpp.blogspot.ru
0
sourcerer
Модератор
Эксперт CЭксперт С++
4868 / 2053 / 325
Регистрация: 20.02.2013
Сообщений: 5,554
Записей в блоге: 24
Завершенные тесты: 1
25.11.2016, 18:36 3
слон11, ошибка использовать одновременно директиву using и имена переменных навроде array. Кроме того, для выполнения этого кода необходимо включить поддержку стандарта C++11. Dev++ не самая лучшая среда разработки, если её вообще можно называть таковой. Я бы порекомендовал не мучаться и скачать хотя бы Code::Blocks.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <vector>
#include <random>
#include <algorithm>
 
int main()
{
    std::default_random_engine generator;
    std::uniform_int_distribution<int> distribution( -3, 8 );
 
    std::vector<int> arr( 20 );
 
    std::generate
        (
            arr.begin(),
            arr.end(),
            [&distribution, &generator]
                ()
            {
                return distribution( generator );
            }
        );
 
    std::cout << "Array: ";
    for( const auto x : arr )
        std::cout
            << x
            << " ";
 
    std::cout
        << "\nElements equal to zero: "
        << std::count_if
            (
                arr.begin(),
                arr.end(),
                []
                    ( auto x )
                {
                    return x == 0;
                }
            );
 
    int sum = 0;
    for_each
        (
            min_element
                (
                    arr.begin(),
                    arr.end()
                ),
            arr.end(),
            [&sum]
                ( int x )
            {
                sum += x;
            }
        );
 
    std::cout
        << "\nSum of elements that are after minimal element is: "
        << sum
        << "\n\n";
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2016, 18:36

В нечетных числах массива найти количество разрядов, равных нулю и единице
Помогите с решением, не оставляйте без внимания) Задание: в одномерном массиве...

Найти количество положительных, отрицательных и равных нулю элементов в одномерном вещественно массиве
Найдите количество положительный, отрицательных и равных нулю элементов в...

В заданных массивах найти количество элементов равных нулю и заменить их на -100 в случае выполнения условия
Помогите пожалуйста. В массивах Х1..Х5, Y1..Y7, Z1..Z14 определить количество...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru