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

Стандартные алгориты - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ c++ как сделать get? http://www.cyberforum.ru/cpp-beginners/thread445589.html
Исп.Visual Studio C++ 2010 Express в консольном приложении? Какие библиотеки для этого нужно использовать, хотелось бы ссылки увидеть на их ресурсы, желательно русские, с полным описанием как их подключить к Visual Studio и как их использовать, очень мало вижу такой инфы, спасибо!
C++ Указатели вобщем, написал программу. Увидел строку перед заданиями "Во всех заданиях использовать указатели.". 3 вроде поправил, а вот тут не знаю куда всунуть. Помогите пожалуйста. #include <iostream.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> void main() { http://www.cyberforum.ru/cpp-beginners/thread445584.html
C++ Подскажите по текстам
Пусть задан текст, заканчивающий точкой. Текст состоит из слов, разделенных пробелами. Слово последов. Русских лов(как строчных, так и прописных) Напечатайте слова имеющие четный номер, которые состоят только из повторяющих букв. Начало вот такое, а дальше не могу: #include <iostream.h> Int main (int arg, char argv) { Char txt ; Char tmp ; Strcpy (txt,...
C++ Class Marix
Добрый вечер :) программисты! В очередной раз обращаюсь к вам с вопросом т.к. считаю ваш форум самым лучшим ресурсом по СИ++ и не только по тому что тут можно найти уже готовые лабы:D А еще по тому что здесь могут подробно и четко объяснить) даже лучше некоторых "преподавателей " универа. Так вот, сам вопрос. Я попытался создать клаcc мaтрицa, и пытался найти кoличествo стрoк, кoличествo...
C++ работа с классами http://www.cyberforum.ru/cpp-beginners/thread445547.html
Пишу класс в котором должно быть реализовано следующее: в private заносится число в 16й сс , которое затем должно оттуда извлекаться и преобразовываться в 2ю и 10ю сс. Помогите пжста организовать проверку , то что число в 16й сс и прикрутить функции выполняющие сами преобразования вот основной код : #include <cstdlib> #include <iostream> #include <string.h> using namespace std; class...
C++ MPI в Visual Studio 2010 Привет! Для паралельного программирования использую MPI. Мне нужно работать в Visual Studio 2010. Сделал все настройки как описано в MSDN http://msdn.microsoft.com/ru-ru/library/ee441265.aspx#BKMK_debug1 но увы когда вставил нужный код мне студия ругается, что ей не удается открыть файл #include "mpi.h". И от этой ошибки она не понимает пространство имен MPI. В чем может быть проблема? подробнее

Показать сообщение отдельно
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437

Стандартные алгориты - C++

14.02.2012, 17:52. Просмотров 414. Ответов 3
Метки (Все метки)

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
#include <vector>
#include <iostream>
#include <algorithm>
 
template <typename T> class Distance
{
        T min;
        T max;
public:
        Distance(T Min, T Max) : min(Min), max(Max) {   }
        bool inline operator() (const T& a) { return a >= min && a < max; }
};
template <typename T> inline std::vector<T>& operator << (std::vector<T>& x, double n) { x.push_back(n); return x; }
 
void main()
{
        typedef std::vector<double> vector;
        vector x;
        x << 1.86 << 1.85 << 1.92 << 1.99 << 1.93 << 1.90 << 1.83 << 1.96 << 1.84 << 1.88
          << 1.82 << 1.89 << 1.88 << 1.89 << 1.90 << 1.74 << 1.89 << 1.90 << 1.88 << 1.84
          << 2.01 << 1.83 << 1.99 << 1.74 << 1.80 << 1.82 << 1.97 << 1.91 << 1.93 << 1.71
          << 2.00 << 1.73 << 1.86 << 1.76 << 1.74 << 1.97 << 1.84 << 1.90 << 1.96 << 1.74
          << 1.82 << 1.91 << 1.95 << 1.96 << 1.82 << 1.78 << 1.90 << 1.81 << 1.93 << 1.88;
        for (double i = static_cast<int> (*std::min_element<vector::iterator>(x.begin(), x.end()) * 10.) / 10. - .05, 
                          max = static_cast<int> (*std::max_element<vector::iterator>(x.begin(), x.end()) * 10.) / 10. + .05; i <= max; i += .05)
        {
                //std::cout << std::count_if(x.begin(), x.end(), std::bind2nd(std::logical_and<bool>(), std::bind2nd(std::greater_equal<double>(), i)), std::bind2nd(std::less_equal<double>(), i + .05) ) );
                std::cout << "[ " << i << "\t, " << i + .05 << "\t):\t" << std::count_if(x.begin(), x.end(), Distance<double>(i, i + .05)) << std::endl;
        }
}
Есть набор значений. Нужно подсчитать, сколько из них попадают в определённые интервалы. Для этого я использую объект функции Distance, до этого я попытался составить предикат из стандартных но плюнул. Вроде бы (искал в книге "C++ Стандартная Библиотека (2004) [rus]" Николая Джосьютиса) самого по себе такого предикаты в stl нет... Возможно кто-то знает ответ? Было бы полезно пополнить им копилку своих знаний.

Добавлено через 6 минут
P.S. И не смотрите на <<. Не надо его обсуждать. Перегрузил и перегрузил.

Добавлено через 23 часа 0 минут
Ну что, нет идей?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru