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

Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор - C++

Восстановить пароль Регистрация
 
ShikiofDevil
11 / 11 / 1
Регистрация: 18.12.2011
Сообщений: 112
26.11.2012, 02:44     Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор #1
Все элементы вектора V[25],которые встречаються более одного раза ,переписать в другой вектор.
Задача на С++ помогите решить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2012, 02:44     Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор
Посмотрите здесь:

C++ Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза
Многомерные массивы. Найти и напечатать числа, которые встречаются в массиве более одного раза C++
C++ Из массива А удалить все элементы, которые встречаются в В ровно 2 раза
C++ дописать ( Из массива А удалить все элементы, которые встречаются в В ровно 2 раза. Из В переписать в С те элементы, которые совпадают с оставшимися)
Найти и напечатать числа, которые встречаются в массиве более одного раза C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,413
26.11.2012, 03:16     Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор #2
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
#include <iostream>
#include <cstddef>
#include <vector>
#include <algorithm>
#include <iterator>
#include <random>
#include <ctime>
#include <map>
 
int main ()
{
    std::mt19937 gen (time (0));
    std::uniform_int_distribution<int> uid (0, 20);
    const std::size_t N = 25;
    std::vector<int> V(N), A;
    std::generate (V.begin(), V.end(), [&uid, &gen] { return uid(gen); } );
    std::copy(V.begin(), V.end(), std::ostream_iterator<int> (std::cout, " ") );
    std::cout<< std::endl;
    std::map<int, int> m;
    for (auto &x: V)
        ++m[x];
    for (auto &x: m)
        if (x.second != 1) A.push_back(x.first);
    std::copy(A.begin(), A.end(), std::ostream_iterator<int> (std::cout, " ") );
    std::cout<< std::endl;
    return 0;
}
ShikiofDevil
11 / 11 / 1
Регистрация: 18.12.2011
Сообщений: 112
26.11.2012, 07:37  [ТС]     Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор #3
спасибо конечно,но мне нужно что-то по-проще ,что-то вроде цыкла в цыкле,а код что вы написали слишком сложен.
И да тема "одномерные массивы" извините описался..
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,413
26.11.2012, 14:22     Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор #4
Новый масив из уникальных элементов другого массива Подсчет уникальных на подсчет неуникальных изменить сможешь сам?

Добавлено через 20 секунд
И определись, вектор или массив?
ShikiofDevil
11 / 11 / 1
Регистрация: 18.12.2011
Сообщений: 112
28.11.2012, 20:06  [ТС]     Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор #5
Тема называеться одномерный массив, и задача там написана...
Yandex
Объявления
28.11.2012, 20:06     Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор
Ответ Создать тему
Опции темы

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