Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
eocron
Кактус
66 / 66 / 19
Регистрация: 23.05.2012
Сообщений: 342
15.03.2013, 21:45 0

Массив: Удалить все повторяющиеся элементы, оставив в массиве только один.

15.03.2013, 21:45. Просмотров 2840. Ответов 15
Метки (Все метки)

Ответ

Удалить все элементы из массива - это как? Произвести замену или функция должна вернуть тот самый единственный элемент?
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
#include <iostream>
#include <map>
 
using namespace std;
 
template<typename T>
T show(T *array,int size)
{
     typedef typename std::map<T,int> TMap;
     typedef typename TMap::iterator iterator;
     TMap res;
     int int_buf=0;
     T buf;
     //calculating appearence for each elemnt
     for(int i=0;i<size;i++)
     {
             res[ array[i] ]++;
             //parallel find of most popular element
             if(res[array[i]]>int_buf)
             {
                    buf=array[i];
                    int_buf=res[array[i]];
             }
     }
     //print all shit out
     for(iterator it=res.begin(); it!=res.end(); ++it)
     {
             cout << it->first << '\t' << ((double)it->second/(double)size)*100 <<'%'<< '\n';
     }
     //here you can delete "array" or do whatever you want with it
     return buf;
}
 
int main()
{
    int t[10000];
    for(int i=0;i<10000;i++)
    {
            t[i]=rand()%10;
    }
 
    cout<<show(t,10000)<<endl;
    
    system("pause");
}


Вернуться к обсуждению:
Массив: Удалить все повторяющиеся элементы, оставив в массиве только один.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 21:45

Удалить из очереди все повторяющиеся слова, оставив только их первые вхождения
Создать очередь, содержащую слова. Удалить из очереди все повторяющиеся слова,...

Удалить из массива повторяющиеся элементы, оставив только их первые вхождения (класс-контейнер вектор)
Добрый день!!! Не могли бы помочь написать программу на С++ при помощи...

Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы.
Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые...

0
Другие темы раздела
C++ Как вычислить, было ли нажатие пробела? http://www.cyberforum.ru/cpp-beginners/thread809567.html
Как вычислить, было ли нажатие пробела при использовании объекта cin? Например, читаю строку, ввожу с пробелами, а в файле, в котором записывается строка все без пробелов. А нужно, чтобы было с...
C++ Рандом без повторений Здравствуйте! Искал по форуме, но так и не нашел подходящее решение такой задачи: пользователь вводит К ПРИМЕРУ число 7. я беру от него логарифм за основанием 2 и заокругляю к большему... http://www.cyberforum.ru/cpp-beginners/thread809547.html
C++ Через аргументы командной строки скопировать файл в файл
Объясните, пожалуйста, как через аргументы командной строки скопировать файл в файл?
C++ Командная строка
Почему при запуске скомпилированой программы, вместо русских букв у меня какая то ересь?
C++ таблица http://www.cyberforum.ru/cpp-beginners/thread809533.html
кто может помочь с таблицей??? Ниже приведена таблица, строки которой соответствуют различным функциям f(n), а столбцы - значениям времени t. Определите максимальные значения n, для которых задача...
C++ Рыбалка на С++. (Новичкам от новичка) Вспоминал давно забытый С++, решил написать маленькую программку. (Распаковать в отдельную папку). Также хочу поделиться исходным кодом. Может кому то будет интересно рассмотреть, может чему... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru