|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.10.2014, 00:08 | #11 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
Найденное значение, достаточно одного раза. Не важно, как удобней. Последний раз редактировалось valerij; 29.10.2014 в 00:13. |
|
29.10.2014, 00:33 | #12 |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
Ну как-то так.
Твой макрос привёл в читабельный вид. Но алгоритм = шедевр!
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru |
29.10.2014, 00:52 | #13 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
alex77755 Ну поясни мне, че не так я делал? Проверил, всё ОК, 2 минуты делал. Та там действительно для меня тёмный лес... И пояснять не надо. Спасибо. (\__/) (='.'=) E[:]|||[:]З (")_(") Последний раз редактировалось valerij; 29.10.2014 в 01:08. |
|
29.10.2014, 01:05 | #14 |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
При таких объёмах даже читать построчно нельзя.
А тут в каждой строке два считывания А строк 531552 да умножить на к-во строк во второй колонке.... Считывание и запись самые медленные операции Да ещё удаление со сдвигом огромного массива Только массивы! Считали одной строкой и выгрузили одной строкой. Всё остальное в массиве. Там в коде можно ещё ускорить: не гнать второй цикл до кона строк первого столбца, а выйти из цикла при пустом значении Код:
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru |
29.10.2014, 01:32 | #15 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
А потом обратил внимание на вертикальную полосу прокрутки, при 53 строк она малюсенькая как и при 531552 и когда удали пустые строки, и прокрутка здоровенная и работал мухой. Но с массивами не сталкивался, придётся почитать. Щас код поменяю... Спасибо за объяснения. |
|
29.10.2014, 01:48 | #16 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
29.10.2014, 05:25 | #17 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
Докладаю. В первом варианте остаётся в В-В из 378 987 строк 179 321 строка. Во втором варианте, быстрее работает ~ минута, остаётся 281 992 строки. Кому верить? Я правильно заменил, вроде по другому и нет? Код:
Если надо точное время то завтра, вернее сегодня, пора в люлю. |
|
29.10.2014, 08:31 | #18 |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
Значит данные во втором столбце идут не по порядку, а где-то есть пустая ячейка. По ней и выход из цикла.
Кстати вчера уже вечером дошло: метки в колонке С не соответствуют. Не тот индекс я поставил. Сейчас найду файл поправлю. Если метка нужна конечно. Вот только если нужна и есть дубли, то метить все или только первую, или только последнюю?
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru |
29.10.2014, 08:58 | #19 | |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
Что бы не учитывать пустые строки в В, но и не гнать по всему списку добавил строку определения количества записей во второй колонке.
Так же поправил пометки тех кто совпал. Сейчас помечаются первые из дублей Цитата:
Вот если надо подсчитать количество дублей в А-А, или все дубли пометить, то надо ещё добавить пару строк в код Код:
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru |
|
29.10.2014, 09:44 | #20 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
Нет там пустой ячейки, это же данные после нашего отсева. Вот сам взгляни - Rez.txt - В-В, а файл 16_737.txt - А-А https://yadi.sk/d/iqmxmsN3cLbg8 Метка обязательна нужна или найденные файлы должны быть строго против = ячеек в А-А, это даёт мне ориентацию по адресам в HEX редакторе, тороплюсь на работу, часа через 4 буду. Спасибо. alex77755 Проверил макрос всё сошлось с первым - 179 321 строка, время ~ минута, для гарантии ещё можно подсчитать количества нулей, ну я с этим справлюсь - отдельным макросом. Код:
Последний раз редактировалось valerij; 29.10.2014 в 12:48. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Тормозит программа | Кротяка | C++ Builder | 5 | 22.05.2013 20:08 |
Тормозит | glebast | Помощь студентам | 10 | 27.04.2012 21:48 |
Тормозит компьютер | BlackOff_Max | Компьютерное железо | 9 | 10.03.2012 22:46 |
тормозит макрос после первой печати данного документа | SergeiK | Microsoft Office Excel | 11 | 12.05.2011 22:50 |
Системник тормозит | Dreanks | Компьютерное железо | 0 | 21.08.2010 10:49 |