Подсчёт количества повторений в C#

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Mail
Сообщения: 1
Зарегистрирован: 27 фев 2015, 17:25

Вычислить количество повторений каждого элемента вектора. Сообщения о повторяющихся элементах должны выводиться только один раз.
помогите, пожалуйста. начинаю самостоятельно изучать язык С# и никак не соображу(
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Проблема в алгоритме или в непонимании особенностей языка?

Алгоритм не сложен. Нужно создать ассоциативный контейнер, позволяющий устанавливать связь между значением и количеством раз, которое оно встречается во входном массиве - иными словами контейнер пар (int, int). Далее бежим по входному массиву и каждый элемент массива ищем ассоциативном контейнере. Если он найден, то увечиливаем на один его значение, если не найден, то добавляем в ассоциативный контейрен со значением 1. В конце просто пробегаемся по ассоциативному контейнеру и выписываем элементы и их количества.

Теперь относительно языковых особенностей. Я знаю C# достаточно поверхностно, но тут всегда может помочь гугл. Главное знать, что искать. По запросу "С# ассоциативный массив" поисковик любезно предоставил ссылочку на статью о классе Dictionary. Думаю, именно этот контейнер и следует использовать. Если знатоки C# поправят меня - я особо не расстроюсь :)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить