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

Подсчет количества различных элементов в массиве - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Jakiro
5 / 5 / 0
Регистрация: 19.05.2010
Сообщений: 39
21.10.2010, 12:24     Подсчет количества различных элементов в массиве #1
Всем привет!
Сегодня всю пару ломал голову над задачей:
Тема: функции
Язык: Си
Задача: дано X(M), Y(N). Вектор имеющий наибольшее количество различных элементов преобразовать по правилу: все элементы >= 10 заменить на 1.

Ну вот заменить то не проблема, в функцию записать все - тоже. а вот как найти количество различных элементов в массиве?
P.S. думаю надо сравнивать один элемент со всеми и определять совпадения, ну вот как то так наверное...
Кто что думает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2010, 12:24     Подсчет количества различных элементов в массиве
Посмотрите здесь:

C++ подсчет количества символов в массиве(строка)
Подсчет количества различных букв в слове C++
C++ Составить функцию для подсчета количества различных чисел в массиве
C++ Подскажите цикл для поиска количества различных чисел среди элементов массива
Подсчет количества элементов ,больше суммы предшествующих в одномерном массиве C++
C++ Подсчет количества отрицательных элементов в одномерном массиве
C++ Подсчет количества пробелов в символьном массиве
C++ Подсчет количества различных символов в строке

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
21.10.2010, 14:29     Подсчет количества различных элементов в массиве #2
Цитата Сообщение от Jakiro Посмотреть сообщение
Ну вот заменить то не проблема, в функцию записать все - тоже. а вот как найти количество различных элементов в массиве?
P.S. думаю надо сравнивать один элемент со всеми и определять совпадения, ну вот как то так наверное...
Кто что думает?
Мы не думаем, мы знаем
1й способ: создать массив размером с максимальное кол-во вариантов значения элемента массива.
То есть, если массив чаров - создаём массив из 256 элементов - на каждый из чаров, обнуляем его.
Потом в цикле
++a[ch];
Потом подсчитываем кол-во ненулевых элементов - вот и искомое число.
2й способ - используем set<T> , где T - тип данных в массиве.
Заполняем, размер сета - искомое число.
Yandex
Объявления
21.10.2010, 14:29     Подсчет количества различных элементов в массиве
Ответ Создать тему
Опции темы

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