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

сортировать массив от одного найденного элемента до другого найденного элемента - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сколько клеток находится под боем шахматного коня http://www.cyberforum.ru/cpp-beginners/thread968572.html
есть задача. http://acm.timus.ru/problem.aspx?space=1&num=1197 написал решение: #include <iostream> using namespace std; int main(int argc, char const *argv) { int vert = { {2,3,4,4,4,4,3,2,},
C++ Можно ли измерить время работы участка кода в тактах процессора? Если да, то подскажите способ. Важно что бы при измерениях не мерились службы и процессы винды и всего остального. http://www.cyberforum.ru/cpp-beginners/thread968569.html
робота с текстом C++
3 задан текст.определить,содержит ли он цифры?
C++ Составить слово из букв, заданных в двухмерном массиве
Двухмерный масив n*m содержит некоторые буквы русского алфавита , расположенные в произвольном порядке. Написать программу,проверяющую,можно ли мз этих букв составить данное слово S.Каждая буква массива используется не более одного раза
C++ Написать программу для создания триарного дерева. http://www.cyberforum.ru/cpp-beginners/thread968551.html
Написать программу для создания триарного дерева. каждый элемент ссылается на три элемента такого же типа.. каждый из этих элементов в со очередь ссылается на три элемента и т.д. #include "stdafx.h" #include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std;
C++ Разработка и отладка циклических алгоритмов и программ Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде таблицы. Значения a,b,h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x). Значения S и Y для данного аргумента x должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки. Работу программы... подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
04.10.2013, 02:53     сортировать массив от одного найденного элемента до другого найденного элемента
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
#include <iostream>
#include <array>
#include <algorithm>
#include <iterator>
#include <random>
#include <cstddef>
 
bool isNegative(const int x)
{
    return x < 0;
}
 
int main()
{
    const std::size_t N = 50;
    std::array<int, N> a;
    std::mt19937 gen {std::random_device()() };
    std::uniform_int_distribution<int> uid(-99, 99);
    std::generate(a.begin(), a.end(), [&uid, &gen]() -> int { return uid(gen); } );
    auto print_a = [](const std::array<int, N> &p)
    {
        std::copy(p.cbegin(), p.cend(), std::ostream_iterator<int>(std::cout, " ") );
        std::cout << std::endl;
    };
 
    std::cout << "Before: ";
    print_a(a);
 
    auto it1 = std::find_if(a.begin(), a.end(), isNegative),
         it2 (std::find_if(a.rbegin(), a.rend(), isNegative).base());
    if (it1 != a.end() && ++it1 != a.end() && it1 != it2)
        std::sort(it1, --it2);
 
    std::cout << "After:  ";
    print_a(a);
}
 
Текущее время: 04:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru