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

Все отрицательные элементы массива перенести в начало, а все остальные - в конец - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс vector3D, задаваемый тройкой координат http://www.cyberforum.ru/cpp-beginners/thread168301.html
Создать класс vector3D, задаваемый тройкой координат. Обязательно должны быть реализованы: сложение и вычитание векторов, скалярное произведение векторов, умножение вектора на скаляр, вычисление длины вектора, сравнение длины векторов, поворот вектора на заданное количество градуссов (целое число от 0 до 360 градусов) вокруг одной из осей относительно центра вектора, операции ввода-вывода. Я...
C++ В последовательности вещественных чисел подсчитать произведение чисел, кратных 3 В последовательности вещественных чисел подсчитать произведение чисел, кратных 3. http://www.cyberforum.ru/cpp-beginners/thread168291.html
C++ Список.
Приведите пожалуйста пример списка. Список представляет собой последовательность чисел. С простыми функциями : добавить число в список, удалить число в списке, вывести список на экран, вывести первую позицию в списке, вывести список, состоящий из элементов, которые имеют пару в исходном списке. Желвтельно в ООП. Добавлено через 1 час 16 минут помогите с вывод первой позиции в списке, и с...
C++ Реализация m-ичного поточного шифрования
Здравствуйте. Задание такое: Реализовать m-ичное (m=8) поточное зашифрование(расшифрование) файла с использованием схемы разворачивания ключа из pin-кода (пароля) небольшой длинны на основе генератора с сжатием (ЛЛР с большими степенями образующих полиномов, от 163). Зарание спасибо:rose:
C++ Растеризация кривой второго порядка http://www.cyberforum.ru/cpp-beginners/thread168274.html
Есть функция, к примеру ax^2+bx+c, необходимо растеризовать ее с устранением ступенчатости. Подскажите каким алгоритмом это осуществлять? Отобразить изображение функции в массиве пикселей. P.S. заодно скажите как управлять цветом пикселя (в формате 0x00000000) с помощью сдвигов? К примеру: const int threshold = 12; unsigned int* pDest = (unsigned int*)data; unsigned char src_r, src_g,...
C++ Заполнить массив случайными числами по возрастанию и убыванию Случайными числами 0..700 по возрастанию и убыванию подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
22.09.2010, 22:11     Все отрицательные элементы массива перенести в начало, а все остальные - в конец
Светик@, решение с помощью std::stable_partition
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <algorithm>
#include <iterator>
#include <iostream>
#include <functional>
 
int main() {
  int arr[] = { -1, 2, 4, 5, -4, -6, 3, -4 };
  
  std::stable_partition(arr, arr + sizeof(arr) / sizeof(arr[0]), std::bind2nd(std::less<int>(), 0));
  
  std::copy(arr, arr + sizeof(arr) / sizeof(arr[0]), std::ostream_iterator<int>(std::cout, " "));
  
  return 0;
}
Результат: http://codepad.org/I6485Ozy
 
Текущее время: 21:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru