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

Отсортировать по убыванию только четные элементы вектора. - C++

Восстановить пароль Регистрация
 
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 115
10.04.2013, 09:11     Отсортировать по убыванию только четные элементы вектора. #1
условие
Отсортировать по убыванию только четные элементы вектора.
Удалить из вектора все двузначные числа.
Вставить после каждого положительного элемента второго вектора максимальный элемент из первого вектора


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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <vector>
#include <algorithm>
#include <iterator>
#include <iostream>
#include <locale>
 
// Удалить из вектора все элементы, сумма цифр которых больше заданного числа К. 
 
#ifndef _countof
#define _countof(x) (sizeof(x) / sizeof((x)[0]))
#endif
 
typedef std::vector<int> V;
 
int sum(int number)
{
    int result = 0;
    for ( ; number; number /= 10)
        result += number % 10;
    return result;
}
 
struct Z
{
    Z(int K) : K_(K) {}
    int operator()(int number) const
    {
        return sum(number) > K_;
    }
    int K_;
};
 
void remove(V& v, int K)
{
    v.erase(
        std::remove_if(v.begin(), v.end(), Z(K)),
        v.end()
        );
}
 
std::ostream& operator<<(std::ostream& os, const V& v)
{
    typedef std::ostream_iterator<V::value_type> O;
    std::copy(v.begin(), v.end(), O(os, " "));
    return os;
}
 
int main()
{
    setlocale(LC_ALL, "");
 
    const int arr[] = {5, 100, 200, 300, 400, 101, 202, 1000, 10001};
    V v(arr, arr + _countof(arr));
 
    const int K = 2;
    remove(v, K);
 
    std::cout << v << std::endl;
        
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 09:11     Отсортировать по убыванию только четные элементы вектора.
Посмотрите здесь:

C++ Отсортировать по возрастанию элементы вектора
C++ Найти максимальный элемент. Отсортировать предшествующие ему элементы по убыванию, а следующие за ним элементы по возрастанию.
Отсортировать элементы заданного массива L по убыванию элементов и найти... C++
Массивы: выбрать элементы меньше нуля и отсортировать их по убыванию C++
C++ Отсортировать элементы массива по убыванию
Отсортировать по убыванию положительные элементы массива методом обмена C++
C++ Отсортировать чётные элементы по возрастанию, а нечётные по убыванию

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru