Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
31.03.2011, 01:43 0

Вычислить количество элементов массива, равных нулю

31.03.2011, 01:43. Просмотров 4377. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено Stas31 как решение

Решение

Дотянул до последнего?

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
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <numeric>
#include <ctime>
#include <cstdlib>
#include <cmath>
 
struct Randomizer {
  Randomizer() { srand(time(NULL)); }
  int operator()() { return rand() % 11 - 5; }
};
 
bool IsZero(int value) { return value == 0; }
 
bool SortByAbs(int a, int b) { return (abs(a) < abs(b)); }
 
int main(int argc, char *argv[]) {
  std::vector<int> array(10);
  std::generate(array.begin(), array.end(), Randomizer());
  std::copy(array.begin(), array.end(),
            std::ostream_iterator<int>(std::cout, " "));
  std::cout << std::endl;
 
  // подсчет нулей
  int zero_count = count_if(array.begin(), array.end(), IsZero);
  std::cout << "Zeroes count: " << zero_count << std::endl;
 
  // сумма после минимума
  std::vector<int>::iterator min_element = std::min_element(array.begin(),
                                                            array.end());
  int sum_after_min = std::accumulate(min_element + 1, array.end(), 0);
  std::cout << "First minimum: " << *min_element
            << ". Sum: " << sum_after_min << std::endl;
 
  // упорядочить по возрастанию модулей
  std::sort(array.begin(), array.end(), SortByAbs);
 
  std::copy(array.begin(), array.end(),
            std::ostream_iterator<int>(std::cout, " "));
  std::cout << std::endl;
  return 0;
}


Вернуться к обсуждению:
Вычислить количество элементов массива, равных нулю
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2011, 01:43
Готовые ответы и решения:

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

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

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

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

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

2
Другие темы раздела
C++ sqrt http://www.cyberforum.ru/cpp-beginners/thread266862.html
Как в с прошрамме написать sqrt(2-x)? У меня sqrt не считает, может есть еще вариант как написать данное выражение?
C++ Найти наибольшее количество подряд идущих цифр в строке Дан текст.Найти наибольшее количество подряд идущих цифр. ПОМОГИТЕ ПОЖАЛУЙСТА... http://www.cyberforum.ru/cpp-beginners/thread266856.html
C++ условие: с файла по-байтно считываются символы (while (от первого до последнего символа))
помогите загнать в цикл. а то совсем заморочился уже. условие: с файла по-байтно считываются символы (while (от первого до последнего символа)) как в этот цикл впихнуть следующие: считаем...
C++ Длинная арифметика
Как сделать типы длинных чисел, например, знаковое 256-ти битное целое и 256-ти битное вещественное с 224-х битной мантиссой и 32-х битным порядком? Добавлено через 1 минуту Надо поддерживать всю...
C++ натуральные числа http://www.cyberforum.ru/cpp-beginners/thread266793.html
Вывести на печать все натуральные числа, меньшие заданного N, сумма квадратов цифр которых кратна 7. Определите 3 цифры номера автомобиля, если известно, что получившееся число кратно 2, 5 и 7, а...
C++ Что я неправильно сделал? #include <stdio.h> #include <math.h> int main(void) { long n; /* параметр ряда */ double dbln; /* параметр ряда в форме с плавающей точкой */ double sum=0; /*... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru