С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Перестановка элементов массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу найти екзешник в VS 2010 ))) http://www.cyberforum.ru/cpp-beginners/thread171579.html
Вот, сабж)) Вопрос конечно ламерский, но я что-то туплю. Решил установить VS, дабы посмотреть что такое. Пробовал консольные приложения - все норм, жмешь F5 и приложение выполняется, а сегодня начал...
C++ Определить номер столбца матрицы, в котором находиться самая длинная серия одинаковых элементов. Дана целочисленная квадратная матрица.Определить номер столбца,в котором находиться самая длинная серия одинаковых элементов. Дублирование тем запрещено правилами форума (п.3.4). Не плодите... http://www.cyberforum.ru/cpp-beginners/thread171565.html
Перестановки C++
Есть число которое складается из нулей и единиц. C клавиатуры вводится N - общее количество цифр и K - количество единиц. Найти и вивести на екран все возможные перестановки етого числа. Например:...
Написать программу, которая считывает текст из файла, добавляет после каждого предложения сколько раз в нем встретилось введенное слово C++
Написать програму, которая считывает текст из файла и выводит его на экран, при этом добавляет после каждого предложения сколько раз в нем встретилось введенное с клавиатуры слово
C++ Функция конкатенации двух строк http://www.cyberforum.ru/cpp-beginners/thread171540.html
Здравствуйте, помогите сделать функцию сложения двух строк, примерно так: void add(char *str1, char *str2) { *plus=new char; *plus = strcat(str1, str2); cout<<plus; } К сожалению, я пока...
C++ вывод из файла. Не могу понять почему не выводит из файла. Откорректируйте мой код. Буду очень признательна. //--------------------------------------------------------------------------- #include <vcl.h>... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
02.10.2010, 21:37
То же, но с использованием boost::bind:
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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <cmath>
#include <boost/bind.hpp>
 
int IntegerPart(double n) {
  return std::floor(n);
}
 
int main() {  
        double      arr[] = { 1.3, 2.3, 5.6, 7.8, 5.3, 9.0 };
  const std::size_t size = sizeof(arr) / sizeof(arr[0]);
  
  const int a = 2;
  const int b = 6;
 
  std::stable_partition(arr, arr + size, 
    boost::bind(IntegerPart, _1) >= a && boost::bind(IntegerPart, _1) <= b);
 
  std::copy(arr, arr + size, std::ostream_iterator<double>(std::cout, " "));
 
  return 0;
}
Результат: http://liveworkspace.org/code/200a8796133777013bed65eff12449c8
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.