Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
"Serebro - Сладко (Andrei Harchenko Remix).mp3" = "Serebro - Сладко (Remix Andrei Harchenko).mp3" Нужно оптимизировать код чтоб быстро выполнялся. Я раньше видел что-то про метод сплит, но так и не вкурил и не знаю что быстрее будет работать в цыкле или сплит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 11:53 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
А где код, который надо оптимизировать? ТЗ тоже не описан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 12:16 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
да вот пробую создать. Public Function PorivnannaVDujkah(ByVal Vhid1 As String, ByVal Vhid2 As String) As Boolean Dim varArray() As String Dim i As Long varArray = Split(Vhid1, " ") If UBound(varArray) = 0 Then Exit Function For i = 0 To UBound(varArray) If InStr(1, Vhid2, varArray(i), vbTextCompare) Then 'Vhid2=replace(vhid2,varArray(i),"" ' Забыл ф-цию чтоб быстро вставить нужное к-чество одного символа else 'exit function End If Next End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 12:33 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 12:33 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Я лично не понял, что вы хотели этим алгоритмом. Напишите плиз техзадание, как должен работать алгоритм, что на входе, что на выходе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 12:49 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
ну я думал разобрать на слова. дальше каждое найденое слово заменить на какой-то символ, чтоб результат был например =ХХХХХХХХ и len(задания) и если один раз не найден слово значит выход из ф-ции и автоматически результат "фалсе" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 13:17 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Алгоритм такой: обе строки разбиваются пробелом, у получившихся массивов сравнивается количество элементов. Если одинаковое, массивы сортируются и сравниваются поэлементно. Андрей159, ваш алгоритм вернет true, если первая строка "Serebro - Сладко", а вторая "Serebro - Сладко (Remix Andrei Harchenko)" и false если наоборот. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 13:19 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Еще раз. Напишите ТЗ. Что должно быть на входе, что на выходе? С помощью ЕДИНСТВЕННОГО примера это не ясно. То ли пятое слово с седьмым поменять То ли найти строго заданные слова (тогда неясно, зачем цикл вообще, достаточно Replace) То ли найти подстроку? а потом расширить до слова То ли..... (еще десять вариантов) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 13:20 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
А, блин, нашел часть ТЗ в названии темы, сорри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 13:21 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
На выходе должно быть, что строка из N слов равна другой строке из тех же слов не зависимо от их порядка. И не равна если количество слов разное или они отличаются. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 13:22 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
AntonariyНа выходе должно быть, что строка из N слов равна другой строке из тех же слов не зависимо от их порядка. И не равна если количество слов разное или они отличаются. Да, я уж врубился, не люблю, когда первый пост не самодостаточен без прочтения заголовка. Твой алгоритм годится, только надо учесть скобки, но тут уже вопрос к автору - что с ними делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 13:27 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Ну да, а так же прочие знаки препинания. Лучше даже воспользоваться регулярными выражениями с паттерном типа "[а-яёa-z]+" с IgnoreCase. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 13:33 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Андрей159"Serebro - Сладко (Andrei Harchenko Remix).mp3" = "Serebro - Сладко (Remix Andrei Harchenko).mp3" Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 13:35 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
AntonariyНу да, а так же прочие знаки препинания. Лучше даже воспользоваться регулярными выражениями с паттерном типа "[а-яёa-z]+" с IgnoreCase. Да, но человек хочет скорости. Так что с точки зрения скорости может быть проще поудалять заведомо могущие встретиться знаки препинания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 13:37 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
.Михаил., Вы пока что написали извлечение слов, то, что делает паттерн "[а-яёa-z]+". Shocker.Pro Так что с точки зрения скорости может быть проще поудалять заведомо могущие встретиться знаки препинанияС этой точки зрения лучше слепить все пары строк в единый текст и таки скормить его регэкспу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 15:33 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Спасибо друзья, что помогаете. Я с Вам дам готовый уже проэкт, очень к стати не плохой в использовании. У меня уже практически все работает. Я только постоянно что-то добавляю и тем самим увеличиваю количество находок. Если кто-небудь интересовался чем я интересуюсь то изначально я занимался апаратом бумбокс (что проигрует музыка) а уже пол года как усовершенствую поиск и сортировку музыки. На даном этапе я максимально упростил таблицы причем все написано на базе open random. Удаление там через флаг Delete=true и с использованием алгоритма ускореного перехода по записи (тоесть если первый символ "А") значит в таблице есть поле которое указывает следующий шаг для такой буквы. Короче поработал и внимательно проследил чтоб не было ошибок. Фильтра все упростил до такой степени что при вводе "Filip Kirkorofff - А я і не 3NaaaaaI" упрощается и всеровано найдет и исполнителя и его песню. Алгоритм кому интересно прост. w=ш=h=.... ну как в Т9 искал все способы написания. Задача теперь в том чтоб: есть названия как "артист1 & артист2 & артист3 - название трека" = "артист1 - название трека (vs артист2, артист3), при том (артист2 и артист3) могут менятся как угодно местами - это уже сделано. Суть: Но вот я решил что я не смогу все отловить, ведь "суденты" диджеи правил написаний строгих не знают и подписиваю треки как им хочется. И получается так: артист1 - название трека (rmx DJ Fisun) , или пишут так артист1 - название трека (DJ Fisun remix) а если еще и & там есть то еще более усложняет. Ну с remix=rmx это не сложно а вот с перестановкой слов немножко сложно. Да и хочу чтоб прога менше мне давала запросов "научи это", "введи это". Хоть бы больше догоняла что это и это всетаки одно и тоже. Еще раз всем спасибо. Иду в кино на 3д смотреть "Аватар" потом посмотрю и выложу код который более подходит к заданию. Спасибо что помогаете. Если коротко, то я хочу отловить все что в скобках "(",")" и проверять их на совместимось. Это суть. с уважением Андрей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 16:05 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
"(",")" Это похоже на жо… кхм :) Пойду пожалуюсь модератору Собственно, суть все уже поняли и концептуальное решение дали, пользуйтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 17:49 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Андрей159, Тут вот какой вопрос. Данная функция выносит окончательный вердикт или является вспомогательной для помощи в принятии окончательного решения человеком? А то есть одна идейка во втором случае.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 18:05 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Анализируя как работает программа, пока что кажется что с распознаванием мне пока нечего больше что добавить. Меня устраивает распознавание. Я в восторге от скорости распознования. За счет ссилок с базы на базу и индексирования (не как отдельная ф-ция а в момент добавления новой записи + есть возможность переиндексиции) Вход - Имея базу размером с ~5000 артистов - краткие сокращения (процес обучения) - пофамильно (если имья не указано) - краткое написание (И.Фамилия) - если папку брать за имя артиста (даже предыдущую), а название как трек Выход все то же + еще - url на загрузку - путь - ссилка на диаграму что в базе даных open binary образована в процесе сканирования mp3 и нужна чтоб очень быстро сравнить треки на идентичность Все вроде как бы решилось. Вот только с одно до конца не могу завершить, и наверное это будет не просто: Артист1 и Артист2, где "и" я не могу расценивать как значек "&" по понятной всем причине. Сделать логику на два три хода с догадкой в % о авто принятие решения за пользователя может замедлить ход распознавания, но в цыкле это могло бы быть и полезным (это пока не решено). Но без этого можно и обойтись. Есть много решений как сделать одно и то же только другими методами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 21:06 |
|
||
|
Создаем функцию сравнения строк в одной из которых возможны перестановки слов местами
|
|||
|---|---|---|---|
|
#18+
Ну что. Окончательную точку поставил. Не судите за то что не использовал Ваш код. Ваши методы тоже полезны. Я например так и не ознакомился с LIKE . А освоив этот метод я 100% буду немножко упрощивать кое-что в проге (уже знаю что). Так. Меня не было 5 часов. И вот только что доработал. Я оказывается был возле развязки рядом. Вот код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 21:33 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36418436&tid=2160234]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 136ms |

| 0 / 0 |
