Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Заблокирован

Подсчитать в одномерном массиве количество нулевых значений

17.10.2012, 08:49. Показов 2535. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я находил в шапке форума аналогичные задачи, но они не работают....пожалуйста помогите

Дан массив
А={а1, а2...а20}

Нужно

1)Подсчитать в одномерном массиве кол-во нулевых значений
2)Кол-во нечетных элементов
3)Сумму положительных элементов
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2012, 08:49
Ответы с готовыми решениями:

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

Подсчитать количество нулевых элементов в массиве
Народ кто нибудь знает как делать? Подсчитать количество нулевых элементов в массиве X,состоящем из 10 элементов типа int и вывести...

Вычисление сумм отрицательных, произведение положительных и количество нулевых значений в одномерном массиве
День добрый.Господа,помогите пожалуйста задачку решить,по обработке одномерного массива,она так,вроде,простая,но у меня блок-схема не...

8
145 / 67 / 14
Регистрация: 30.12.2011
Сообщений: 137
17.10.2012, 09:42
Grow1993,

Как эти задачи не работают?

1

C++
1
2
3
4
5
6
7
int arr[] = {-1, -4, 0, 6, 1, -9, 12, 0, -5, -8, 11, 21, -98, 67, 0, -3, -7, 15, 0, -21};
    const int size = sizeof(arr)/sizeof(arr[0]);
 
    vector<int> v_int(arr, arr+size);
 
    int countZero = count(v_int.begin(), v_int.end(), 0);
    cout << countZero << endl;
2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int odder(int *arr, int N)
{
    if (!N)
        return 0;
 
    int counter = 0;
    for (int i=0; i<N; ++i)
        if (arr[i] % 2)
            ++counter;
    return counter;
}
 
int countOdd = odder(arr, size);
    cout << countOdd << endl;
3

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int sumPos(int *arr, int N)
{
    if (!N)
        return 0;
 
    int sum = 0;
    for (int i=0; i<N; ++i)
        if (arr[i] > 0)
            sum += arr[i];
    return sum;
}
 
int Sum = sumPos(arr, size);
    cout << Sum << endl;

Дальше сам собирай
0
Заблокирован
17.10.2012, 09:48  [ТС]
так а можно полностью??

со всеми библиотеками пожалуйста
0
145 / 67 / 14
Регистрация: 30.12.2011
Сообщений: 137
17.10.2012, 09:51
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
#include <iostream>
#include <algorithm>
#include <vector>
 
using namespace std;
 
int odder(int *arr, int N)
{
    if (!N)
        return 0;
 
    int counter = 0;
    for (int i=0; i<N; ++i)
        if (arr[i] % 2)
            ++counter;
    return counter;
}
 
int sumPos(int *arr, int N)
{
    if (!N)
        return 0;
 
    int sum = 0;
    for (int i=0; i<N; ++i)
        if (arr[i] > 0)
            sum += arr[i];
    return sum;
}
 
int main()
{
    int arr[] = {-1, -4, 0, 6, 1, -9, 12, 0, -5, -8, 11, 21, -98, 67, 0, -3, -7, 15, 0, -21};
    const int size = sizeof(arr)/sizeof(arr[0]);
 
    vector<int> v_int(arr, arr+size);
 
    int countZero = count(v_int.begin(), v_int.end(), 0);
    cout << countZero << endl;
 
    int countOdd = odder(arr, size);
    cout << countOdd << endl;
 
    int Sum = sumPos(arr, size);
    cout << Sum << endl;
}
0
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,568
17.10.2012, 09:57
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
/*
Дан массив
 А={а1, а2...а20}
 
 Нужно
 
 1)Подсчитать в одномерном массиве кол-во нулевых значений
 2)Кол-во нечетных элементов
 3)Сумму положительных элементов
*/
 
#include <iostream>
#include <algorithm>
#include <numeric>
 
const int N = 20;
 
int getRand(void) { return (rand() % 10) - 5; }
bool isOdd(const int V) { return ((V % 2) != 0); }
int GreaterThanZeroAccumulate(const int R, const int V)
{
    return ((V > 0) ? R + V : R);
}
 
int main(void)
{
    setlocale(0, "rus");
 
    int Array[N];
    std::generate(Array, Array + N, getRand);
    std::cout << "Массив: ";
    std::copy(Array, Array + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    int ZeroCount = std::count(Array, Array + N, 0);
    int OddCount = std::count_if(Array, Array + N, isOdd);
    int Sum = std::accumulate(Array, Array + N, 0, GreaterThanZeroAccumulate);
 
    std::cout << "Кол-во нулевых значений: " << ZeroCount << std::endl;
    std::cout << "Кол-во нечетных элементов: " << OddCount << std::endl;
    std::cout << "Сумму положительных элементов: " << Sum << std::endl;
    system("pause");
}
1
Заблокирован
17.10.2012, 10:03  [ТС]
спасибо твоя программа помогла. А можно как то, изменить? чтоб свои писать числа, а то в КОДУ рандом идет
0
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,568
17.10.2012, 10:14
Возьми из примера Арсенал задание массива и убери строку с std::generate:
C++
1
2
3
    int Array[] = {-1, -4, 0, 6, 1, -9, 12, 0, -5, -8, 11, 21, -98, 67, 0, -3, -7, 15, 0, -21};
    //std::generate(Array, Array + N, getRand);
    N = sizeof(Array)/sizeof(Array[0]);
Добавлено через 1 минуту
Но если преподу какому показывать собрался, то лучше возьми программу тов. Арсенала, она более "студенческая".
0
Заблокирован
17.10.2012, 10:34  [ТС]
Она выдает просто в столбец итог

а мне нужно как у тебя, она вообще хороша...тока говорю(щас попробую то что ты отписал) чтобы самому вводить числа
0
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,568
17.10.2012, 10:47
Цитата Сообщение от Grow1993 Посмотреть сообщение
а мне нужно как у тебя, она вообще хороша
Ну можешь попробовать разобраться в моей. Несмотря на простоту, там есть несколько нетривиальных для начинающего моментов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.10.2012, 10:47
Помогаю со студенческими работами здесь

Вычисление суммы отрицательных, произведения положительных и количества нулевых значений в одномерном массиве
Написать программу вычисления суммы отрицательных, произведения положительных и количества нулевых значений в одномерном массиве. :bravo: ...

В массиве подсчитать число соседств двух нулевых значений
1.В массиве подсчитать число соседств двух нулевых значений. (Элементов массива:7. Массив вводится с клавиатуры) 2.Одна сторона...

В одномерном массиве найти сумму отрицательных, количество положительных и произведение не нулевых элементов
Всем доброго времени суток. Задали сделать лабораторные работы, но вот незадача, простые я смог выполнить а с массивом и так и сяк, не как...

Подсчитать количество нулевых элементов в массиве
Дан числовой массив В(45). Подсчитать количество нулевых элементов в массиве.

в массиве C(10) подсчитать количество нулевых элементов
В массиве C(10) подсчитать количество нулевых элементов


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru