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

Исключить из массива все повторяющиеся элементы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Метод Карацубы http://www.cyberforum.ru/cpp-beginners/thread1176992.html
Помогите реализовать метод Карабуцы для длинных чисел. У меня получилось сделать его только для более коротких чисел. Ведь если допустим взять числа длиной в 10000 символов, то проделывать деление...
C++ Перегрузка оператора = Есть некий класс. И два класса-наследника. Надо перегрузить оператор =, к тому же в дочерних классах вызывать перегрузку в базовом классе. Ошибка кода в том, что нельзя перегрузить оператор в классе,... http://www.cyberforum.ru/cpp-beginners/thread1176984.html
Как визуализировать программу C++
Есть полностью готовая консольная программа,которая решает СЛАУ.Как мне визуализировать ее?Как например сделать,чтобы я мышкой тыкал на какое-то поле и вводил значения коэффициентов уравнений?
Вычислить время выполнения C++
Помогите пожалуйста вычислить время выполнения данной программы. Уже что только не вставляла, но программа просто не выводит время, ошибок тоже никаких не выдает. Подскажи, что куда вставлять. ...
C++ Sdl 2.0 Dev-cpp http://www.cyberforum.ru/cpp-beginners/thread1176922.html
Под спойлером лог компилятора, по сути не может найти winapifamily.h, где его брать, куда пихать итд, сдл поставил полностью 25 0 E:\sdl2\x86_64-w64-mingw32\include\SDL2\SDL_config.h In file...
C++ Открытие Ini файла Есть файл в формате ini: bank1=Belarusbank currency1=USD buy1=3050 sell1=3055 bank2=Belinvestbank buy2=3045 sell2=3053 currency2=USD подробнее

Показать сообщение отдельно
Vergil
42 / 36 / 14
Регистрация: 11.11.2009
Сообщений: 243
16.05.2014, 23:41
Литература C++
+ на этом форуме есть различные решения. Ну help и гугл
Вот вариант кода с использованием вектора. Проверять досконально нет времени, но на первом, что пришло в голову, сработало
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.h>
#include <vcl.h>
#include <vector>  //подключаем для рабоы с вектором
#include <algorithm>  //для функций sort и unique
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
//отс сих
char bufRus[256];
char* Rus(const char* text)
{CharToOem(text, bufRus);
return bufRus;}
//до сих, что бы рус язык отображался
int main(int argc, char* argv[])
{int n, k=0;
cout<<Rus("Введите количество элементов")<<endl;
cin>>n;
int* mas= new int [n];//заводим массив для первоначального массива который будем считывать
for(int i=0;i<n;i++)//заполняем его
{cin>>mas[i];}
std::vector<int> mass (mas, mas+n); //создаем вектор и заносим в него значения из массива
std::vector<int> mass1 (mass);   //создаем второй вектор
sort(mass1.begin(), mass1.end());  //сортируем по возрастанию переданный вектор
mass1.erase( unique(mass1.begin(), mass1.end() ), mass1.end() ); //удаляемповторяющиеся элементы
//erase удаляет, unique выдает вектор уникальных символов
for (int i = 0; i < mass1.size(); i++)  //в этом цикле берем уникальные элементы
{
k=0;//сбрасываем счетчик повторения на 0, т.к. берется новое число.
for (int j = 0; j < mass.size(); j++)  //тут проходим по нашему первоночальному вектору
{if(mass[j]==mass1[i]){if(k==0){k++;}//если встречается первый раз увеличиваем счетчик
else{mass.erase(mass.begin() + j);}}}//если нет, то удаляем из вектора.
}
for (int j = 0; j < mass.size(); j++){cout<<mass[j]<<" ";}//выводим то, что получилось
system("PAUSE");
    return 0;
}
//---------------------------------------------------------------------------
0
Миниатюры
Исключить из массива все повторяющиеся элементы  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru