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

удалить из массива повторяющиеся элементы, оставив только их первые вхождения. класс-контейнер вектор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужно описать структуру с именем МОТЕ и т.д. http://www.cyberforum.ru/cpp-beginners/thread292963.html
Описать структуру с именем МОТЕ, содержащую следующие поля: - фамилия, имя; - номер телефона; - дата рождения (массив из трех чисел). Написать программу, выполняющую следующие действия: - ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; - записи должны быть упорядочены по трем первым цифрам номера телефона; - вывод на экран информации о человеке, чья фамилия...
C++ Создание (вернее, внедрение) манипулятора Здравствуйте! Помогите пожалуйста! Лаба горит! Помогите создать манипулятор консольного ввода\вывода (insetup\outsetup). Внедрить его надо в этот код #include <iostream> #include <conio.h> #include <locale> using namespace std; class Mas { unsigned int n, *V; http://www.cyberforum.ru/cpp-beginners/thread292939.html
Посчитать количество слов в строке C++
Здравствуйте! Дайте пожалуйста пример функции которая считает количество слов с строке с помощью функции strtok. Number_Word (char str) return number_words; int _tmain(int argc, _TCHAR* argv) { char str;
сложение двоичных чисел.... C++
Скажите пожалуйста как сложить два двоичных числа!!! программа работает, но не правильно!!!#include <cstdlib> #include <iostream> #include <math.h> #include "Bin.h" using namespace std; Bin Bin:: operator+(Bin& b1){ int t=0; int i, n1,n2,s;
C++ Разработать функцию обслуживания одного покупателя при условии, что каждый может заказать нужный ему набор блюд, но не более одной порции каждого блюд http://www.cyberforum.ru/cpp-beginners/thread292907.html
В буфете предлагают покупателю меню из четырех блюд. Каждое блюдо имеет свою цену и представлено известным количеством порций. Разработать функцию обслуживания одного покупателя при условии, что каждый может заказать нужный ему набор блюд, но не более одной порции каждого блюда. При расчете за набор блюд покупателю может быть выдана сдача. Разработать программу, использующую созданную...
C++ Создание динамического массива используя malloc Необходимо создать трехмерный динамический массив и заполнить его нулями (допустим B): int i=0; int j=0; int k=0; BYTE ***B = (BYTE ***)malloc(480); for (i=0; i<=479; i++) { подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
11.05.2011, 13:23     удалить из массива повторяющиеся элементы, оставив только их первые вхождения. класс-контейнер вектор
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
62
63
64
65
66
#include <iostream>
#include <vector>
#include <iterator>
#include <fstream>
#include <algorithm>
 
typedef std::vector<int>::iterator iveciter;
 
int main(int argc, char* argv[])
{
    std::ifstream ifs;
    std::istream* pis;
    
    std::vector<int> ivec;
 
    if(argc > 2)
    {
    std::cerr << "Usage: " << *argv << " FILE" << std::endl;
    return 1;
    }
    
    if(argc == 1)
    {
    std::cout << "Input integer values (EOF to stop):" << std::endl;
    pis = &std::cin;
    }
    
    else
    {
    ifs.open(argv[1]);
    
    if(!ifs.is_open())
    {
        std::cerr << "Can't open file " << argv[1] << std::endl;
        return 1;
    }
    pis = &ifs;
    }
    
    
    std::copy(std::istream_iterator<int>(*pis),
          std::istream_iterator<int>(),
          std::inserter(ivec, ivec.begin()));
 
    if(argc == 2)
    {
    std::cout << "Initial array:" << std::endl;
    std::copy(ivec.begin(), ivec.end(), std::ostream_iterator<int>(std::cout, "\n"));
    }
 
    for(iveciter it = ivec.begin(); it != ivec.end(); ++it)
    {
    iveciter it1;
    
    while((it1 = std::find(it + 1, ivec.end(), *it)) != ivec.end())
        ivec.erase(it1);
    }
        
    std::cout << "Array with removed duplicating elements:" << std::endl;
    std::copy(ivec.begin(), ivec.end(), std::ostream_iterator<int>(std::cout, "\n"));
    
    if(ifs.is_open())
    ifs.close();
    
    return 0;
}
Код
[nameless@desktop cpp]$ cat file.in && ./sample file.in
2 3 2 4 1 2 3 4 5 8 9 8
Initial array:
2
3
2
4
1
2
3
4
5
8
9
8
Array with removed duplicating elements:
2
3
4
1
5
8
9
[nameless@desktop cpp]$
 
Текущее время: 22:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru