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

Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить часть символьной строки, заключенной в скобки (вместе со скобками). http://www.cyberforum.ru/cpp-beginners/thread294613.html
Удалить часть символьной строки, заключенной в скобки (вместе со скобками).
C++ Ввод и работа с кирилицей Необходимо считать слово и сравнить его с уже имеющимся например: char f="привет";//с чем сравинвать char x; scanf("%s",x);//что сравнивать но при чтении кирилицы в память(в икс) забиваеться вместо привет - "ЇаЁўҐв" и сравнивать 2 строки уже нельзя.Каким макаром его повернуть чтобы считывались именно руские символы? http://www.cyberforum.ru/cpp-beginners/thread294612.html
C++ Вывести на экран слова, содержащие три буквы
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
C++ freopen
Из всех способов текстового ввода/вывода предпочитаю freopen из-за удобства отладки(лень каждый раз сворачивать студию и проверять файлы, а freopen можно просто закомментировать) Сейчас столкнулся с проблемой, нужно вывести сначала в файл, и уже затем на экран. Судя по описанию freopen закрывает текущий поток и открывает новый... Как можно открыть вывод в консоль заново? Взято с...
C++ игра pacman http://www.cyberforum.ru/cpp-beginners/thread294589.html
Всем добрый день. Задали задание.Написать игру типа пакмэн. цель игры заключается в том чтобы собрать на поле все имеющиеся бонусы, не попасться врагу, ну и при окончании уровня расставить пакмэну способности. Застрял вот на чем: 1)Не получается поставить условие, чтоб если пакмэн наступил на бонус то бонус пропал, и после того как все бонусы собраны чтоб закончился уровень, и выдалось меню...
C++ Напечатать матрицу, в которой наименьший след(сумма диагональных элементов) Даны две квадратные вещественные матрицы 10-го порядка.Напечатать квадрат той из них,в которой наименьший след(сумма диагональных элементов) p.s. помогите пожалуйста решить задачу.вообще не получается..... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
13.05.2011, 19:37     Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <algorithm>
#include <boost/lambda/lambda.hpp>
#include <cstddef>
#include <iostream>
 
int main() {
  const double      array[] = { -2.0, -1.0, 0.0, 1.0, 2.0, 3.0 };
  const std::size_t size    = sizeof(array) / sizeof(array[0]);
  
  const std::size_t negativeCount = std::count_if(array, array + size, boost::lambda::_1 < 0);
  const std::size_t positiveCount = std::count_if(array, array + size, boost::lambda::_1 > 0);
  
  std::cout << negativeCount                        << std::endl
            << positiveCount                        << std::endl
            << size - negativeCount - positiveCount << std::endl;
}
Результат: http://liveworkspace.org/code/efce99...a468b7217daae6

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
#include <algorithm>
#include <cstddef>
#include <iostream>
#include <functional>
 
struct Counter {
  std::size_t positiveCount;
  std::size_t negativeCount;
  
  Counter()
  : positiveCount(0)
  , negativeCount(0)
  {
  }
  
  void operator()(double number) {
    if (number < 0)
      ++negativeCount;
    else if (number > 0)
      ++positiveCount;
  }
};
 
int main() {
  const double      array[] = { -2.0, -1.0, 0.0, 1.0, 2.0, 3.0 };
  const std::size_t size    = sizeof(array) / sizeof(array[0]);
  
  const Counter counter = std::for_each(array, array + size, Counter());
   
  std::cout << counter.negativeCount                                << std::endl
            << counter.positiveCount                                << std::endl
            << size - counter.negativeCount - counter.positiveCount << std::endl;
}
Результат: http://liveworkspace.org/code/53e6d1...ee88606ce567e9
 
Текущее время: 01:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru