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

Удалить из массива "лишние" (кроме первого) элементы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти ошибку в коде http://www.cyberforum.ru/cpp-beginners/thread533547.html
#include <iostream.h> #include <conio.h> #include <stdio.h> #include <windows.h> using namespace std; void main (void) {
C++ класс Vector Задание: Разработать класс вектор. Реализовать метод доступа к элементам вектора. Реализовать операции сложения, вычитания, скалярного произведения векторов, а также нахождение модуля вектора. http://www.cyberforum.ru/cpp-beginners/thread533546.html
Создайте структуру Параллелограмм с элементами a, b - стороны параллелограмма и a - угол между сторонами. C++
Создайте структуру Параллелограмм с элементами a, b - стороны параллелограмма и a - угол между сторонами. Для К заданных фигур определить kl - количество квадратов и k2 - количество прямоугольников. Мне нужно, пожалуйста еще бы пояснения как это делается))
C++ Создайте структуру Конус с элементами - r - основание круга-основания, h - высота конуса.
Создайте структуру Конус с элементами - r - основание круга-основания, h - высота конуса. Определить для N заданных конусов объем и площадь поверхности.
C++ Создайте структуру Прямоугольный_Параллелепипед с элементами - a и b - стороны прямоугольника-основания, h - высота параллелепипеда. http://www.cyberforum.ru/cpp-beginners/thread533543.html
Создайте структуру Прямоугольный_Параллелепипед с элементами - a и b - стороны прямоугольника-основания, h - высота параллелепипеда. Найдите, у какого из N заданных параллелепипедов объем наименьший?
C++ Из массива X(N) все положительные элементы записать в массив Y(k). Из массива X(N) все положительные элементы записать в массив Y(k). Найти в каждом массиве среднее арифметическое простых элементов. илиИз целочисленного массива X(N) все простые числа записать в массив Y(k), а все элементы, не являющиеся простыми числами, - в массив Z(m). илиИз целочисленного массива X(N) записать в массив Y(k) каждый второй элемент. Удалить в каждом массиве наибольший и... подробнее

Показать сообщение отдельно
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
29.03.2012, 11: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
37
38
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
 
struct remove_predic: std::unary_function< int, bool > {
    int *last_;
    remove_predic( int *last ): last_(last) {}
    bool operator () ( int next ) {
        if( next <= *last_ ) return true;
        *last_ = next;
        return false;
    }
};
 
void show_vector( const std::vector<int> &v ) {
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << "\n";
}
 
int main()
{
    std::vector< int > v;
    v.push_back(1); v.push_back(2);
    v.push_back(5); v.push_back(3);
    v.push_back(4); v.push_back(6);
    v.push_back(7);
 
    show_vector(v);
    int first = *v.begin();
 
    v.erase(std::remove_if( v.begin() + 1, v.end(),
                            remove_predic(&first) ), v.end());
    show_vector(v);
 
 
    return 0;
}
Код
1 2 5 3 4 6 7 
1 2 5 6 7
 
Текущее время: 02:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru