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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти в матрице квадратную подматрицу http://www.cyberforum.ru/cpp-beginners/thread645459.html
дана матрица а(m,n) из 0 и 1. найти в ней квадратную подматрицу из одних единиц максимального размера.
C++ Проверьте правильность написания кода и коментарии Задача: Написать программу которая принимает в качестве аргумента имя файла f с русским текстом и печатает его в точности по одному предложению в строке Желательно подробные комментарии к задаче! Заранее спасибо #include<iostream> #include <fstream> using namespace std; int my_strlen(char *str) { int res=0; while(str) http://www.cyberforum.ru/cpp-beginners/thread645458.html
перебор элементов массива C++
дан массив целых чисел. поменять местами пары элементов в массиве: 1 и2,3 и 4,5 и 6 и т.д.
C++ Определить, находится ли точка в треугольнике
заданы прямоугольные координаты Х1,У1,Х2,У2,Х3,У3 вершин треугольника и координаты Х и У точки. определить, находится ли точка в треугольнике
C++ сделать коментарии и проверьте код к задаче ргр по теории информатики http://www.cyberforum.ru/cpp-beginners/thread645454.html
Задача: Написать алгоритм который сортирует массив следующим образом: если его длина меньше n то использовать метод пузырьковой сортировки а иначе-метод Хоара. Экспериментальным путём определить оптимальное значение n для типов date int и строк 16 ПРошу сделать коменты желательно поподробнее ну проверить правильность кода. Заранее благодарен тем кто поможет! #include<iostream> #include...
C++ факториал сумма факториалов подробнее

Показать сообщение отдельно
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
01.09.2012, 20:25     Получить новый массив, в котором сначала идут положительные числа, затем нулевые, затем отрицательные исходного
алишка999, такие дела..
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
#include <iostream>
#include <algorithm>
#include <functional>
 
int main()
{
   std::vector <int> input_vector = { -1, 2, 0, 4, -3, -2, 0 };
   std::vector <int> result_vector, negative_vector;
   
   std::partition_copy(
      input_vector.begin(),
      input_vector.end(),
      std::back_inserter(result_vector),
      std::back_inserter(negative_vector),
      std::bind(
         std::greater_equal <int>(),
         std::placeholders::_1,
         0
      )
   );
   
   std::stable_partition(
      result_vector.begin(),
      result_vector.end(),
      std::bind(
         std::not_equal_to <int>(),
         std::placeholders::_1,
         0
      )
   );
   
   std::copy(
      negative_vector.begin(),
      negative_vector.end(),
      std::back_inserter(result_vector)
   );
   
   for (const auto & val : result_vector) {
      std::cout << val << " ";
   }
}
http://liveworkspace.org/code/bc2a02...4c5fdd32f8ddf9
 
Текущее время: 11:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru