Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Delphi Посчитать количество встречаний каждой строки

Есть база товаров состоящая из нескольких файлов:
Категория товаров1.txt
Категория товаров2.txt
Категория товаров3.txt
В каждом файле множество уникальных строк.

Есть файлы отчётов:
Отчет-10-января.txt
Отчет-11-января.txt
Отчет-11-января.txt

В любом файле отчетов неопределенное количество строк, среди которых могут встречаться строки из файлов "Категорий", строки могут повторяться.

Надо посчитать сколько раз встречается строка.

Мысль:
Создать массив строк из файлов "Категория товаров". Перебирать файлы отчетов и сравнивать строку с массивом.

Как это сделать?

По дате
По рейтингу
Аватар пользователя
Высший разум
4мес

Написать, как создать массив, как перебирать файлы или и то и другое?

Аватар пользователя
4мес

используй пружину для делфи, создаешь сет ISet<string>, добавляешь сюда все строки из категорий, создаешь мультисет IMultiSet<string>, перебираешь все строки в отчетах, проверяешь вхождение в сет и добавляешь входящие строки в мультисет, теперь проходишь массив for var i in мультисет.Entries.ToArray do и получаешь кол-во повторений format('строка "%s" повторяется %d раз', [i.Item, i.Count])