Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Счетчик повторения слов, Уникальных слов 
:(
    Опции темы
alt5000
  Дата 2.11.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 9.4.2006
Где: г. Выборг

Репутация: нет
Всего: нет



Всем доброго времени суток!

Прошу помочь мне решить такую задачку. В эррэйлисте есть список слов. в нем есть повторяющиеся слова. Мне нужно подсчитать сколько повторов каждого слова в этом списке. Заранее благодарен.
PM MAIL WWW   Вверх
thomas
Дата 2.11.2007, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 3
Всего: 65



alt5000
Приветствую.
Смотри в сторону IComparer и Array.BinarySearch(...)
первое используй для сравнения своих слов
что-то типа этого
Код

public class VglNaam: IComparer
    {
        int IComparer.Compare(object var1, object var2)
        {
            if(var2.GetType()== typeof(gegevens))        
                return string.Compare(((gegevens)var1).naam,((gegevens)var2).naam);      //сравниваем две фамилии       
            else        
                return string.Compare(((gegevens)var1).naam,(string)var2); // сравниваем фамилию и string
        }
    }

А во втором используй свой класс реализующий IComparer для поиска дубликатов
Что-то типа этого
Код

myVgl=new VglNaam();
Object waardeObj=zoekwaarde; // значение слова для поиска берешь из своего массива
vindplaats = Array.BinarySearch(dataTabel, waardeObj, myVgl); // первый параметр где искать, второй что искать, третий как сравнивать значения.

А так тебе придется написать цикл переборки всех значений слов в массиве(ArrayList) и каждое сравнить с остальными. При этом прикрутить счетчик дубликатов и результат писать в отдельный массив.

Может не самое оригинальное решение, но логичное.

ЗЫ в первом листинге указание на структуру содержащую данные (Имя Фамилия дата рождения)
Код

public struct gegevens
    {
        public int nr;
        public string naam;
        public string voornaam;
        public DateTime gebdat;
        public long volgnr;
    }

ЗЫЗЫ Код на C# но особой разницы в подходе нет. Главное идею понять. Так что думаю на VB.NET сможешь написать.

Это сообщение отредактировал(а) thomas - 2.11.2007, 19:52


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
alt5000
Дата 6.11.2007, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 9.4.2006
Где: г. Выборг

Репутация: нет
Всего: нет



Спасибо, обязательно разберусь. Правда, в С#  я не очень, если бы код был на VB.Net Но в любом случае, попробую разобраться. Еще раз спасибо за помощь.
PM MAIL WWW   Вверх
alexburzak
  Дата 6.11.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 12.3.2007
Где: Hadera

Репутация: нет
Всего: 1



Цитата(alt5000 @ 6.11.2007,  17:08)
Спасибо, обязательно разберусь. Правда, в С#  я не очень, если бы код был на VB.Net Но в любом случае, попробую разобраться. Еще раз спасибо за помощь.

Тогда тупо берешь и переводишь: http://www.carlosag.net/Tools/CodeTranslator/Default.aspx smile 
Только все равно смотри код - так как это тупая машина...  smile 
PM   Вверх
Akina
Дата 6.11.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Берешь сортировку подсчетом. Выкидываешь сортировку, оставляя подсчет.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0731 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.