Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> число каждого слова в массиве 
:(
    Опции темы
Amertat
Дата 26.8.2012, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте! Уже который день ломаю голову  smile над тем, как подсчитать количество вхождений каждого слова в массиве. У меня есть поле "марка авто" записи. Вот эти марки то и считать нужно.  если какую-то конкретную - проблем нет, а вот каждой - идей нет. Буду рада скорейшему ведущему к пути верному ответу, так как сгораю от любопытства и не могу спокойно спать. smile 
PM MAIL   Вверх
Данкинг
Дата 26.8.2012, 21:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Подобное вообще лучше делать через таблицу БД. А так - создаёшь TStringList. Проходишь в цикле по массиву, считывая слово. Далее - второй цикл по TStringList. Если данного слова там не встречается - то заносим. А затем - обратные действия: проходим в цикле по TStringList, считываем слово. Вторым циклом проходим по массиву, и если текущее слово равно нашему из TStringList, то увеличиваем счётчик. Ну, каким образом сделать счётчики - вопрос уже другой.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Cheloveck
Дата 26.8.2012, 21:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

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



1. сортируем массив;
2. проходим по массиву:
    2.1 читаем первый элемент, количество = 1;
    2.2 читаем следующий элемент, если он равен предыдущиму, инкрементируем значение счётчика, если нет -- запоминаем новое значение и его счётчик ставим в единицу;
    2.3 выполняем пункт 2.2 пока массив не кончится.


--------------------
user posted image
PM Jabber   Вверх
Amertat
Дата 26.8.2012, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Cheloveck @ 26.8.2012,  21:24)
1. сортируем массив;
2. проходим по массиву:
    2.1 читаем первый элемент, количество = 1;
    2.2 читаем следующий элемент, если он равен предыдущиму, инкрементируем значение счётчика, если нет -- запоминаем новое значение и его счётчик ставим в единицу;
    2.3 выполняем пункт 2.2 пока массив не кончится.

да, но как быть со счетчиками? их ведь может быть от одного до количества элементов в массиве? объявить много переменных-счетчиков и надеяться что они понадобятся??  

PM MAIL   Вверх
bems
Дата 26.8.2012, 21:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

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



не много переменных, а массив счетчиков


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Amertat
Дата 26.8.2012, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Данкинг @ 26.8.2012,  21:23)
Подобное вообще лучше делать через таблицу БД. А так - создаёшь TStringList. Проходишь в цикле по массиву, считывая слово. Далее - второй цикл по TStringList. Если данного слова там не встречается - то заносим. А затем - обратные действия: проходим в цикле по TStringList, считываем слово. Вторым циклом проходим по массиву, и если текущее слово равно нашему из TStringList, то увеличиваем счётчик. Ну, каким образом сделать счётчики - вопрос уже другой.

скажите, можно ли создать список индексов неопределенного размера?... может множество индексов? мне вообще реализовать в турбо паскале нужно, и я еще не сталкивалась с подобными примерами....
PM MAIL   Вверх
Данкинг
Дата 26.8.2012, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Amertat @  26.8.2012,  22:46 Найти цитируемый пост)
да, но как быть со счетчиками? 

Число счётчиков будет равно числу строк в Стринглисте. Но вообще если на Паскале - тогда там такое не прокатит.



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Keeper89
Дата 26.8.2012, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Не лучше ли на TDictionary это все сделать?


--------------------
PM MAIL WWW   Вверх
northener
Дата 27.8.2012, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Amertat @  26.8.2012,  21:13 Найти цитируемый пост)
Здравствуйте! Уже который день ломаю голову

Хм.
Цитата(Amertat @  26.8.2012,  21:13 Найти цитируемый пост)
над тем, как подсчитать количество вхождений каждого слова в массиве.

О каком массиве идёт речь?

Цитата(Amertat @  26.8.2012,  21:13 Найти цитируемый пост)
если какую-то конкретную - проблем нет, а вот каждой - идей нет.

Приведите код, где проблем нет.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


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

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


 




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


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

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