|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
27.01.2009, 15:06 | #1 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
Сравнение массива чисел с числом
Подскажите, можно ли сравнить все элементы массива с определенным значением посредством одной операции?
Пробую так: Код:
Как решить такую задачу не перебирая в сравнении все элементы массива?
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах |
27.01.2009, 15:28 | #2 |
Форумчанин
Регистрация: 25.08.2008
Сообщений: 159
|
массив надо циклом перебирать
Код:
Последний раз редактировалось tolikman; 27.01.2009 в 15:31. |
27.01.2009, 15:34 | #3 | |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
Спасибо, уважаемый tolikman. Перебирать в цикле я могу, вопрос собственно заключается в
Цитата:
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах |
|
27.01.2009, 15:39 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
А что, нужно обязательно макросом?
Лучше день потерять — потом за пять минут долететь!©
|
27.01.2009, 15:49 | #5 | |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
Цитата:
А вопрос возник при оптимизации кода. Просто массив большой и сравнений много.
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах |
|
27.01.2009, 16:00 | #6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Код:
|
27.01.2009, 16:37 | #7 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
Спасибо, Игорь.
Вопрос по коду: в выражении Код:
Кстати, как я понял оператор Join работает только с одномерными массивами. P.S. жаль только, что для оптимизации кода этот вариант мне видимо не подходит в тестовом поиске в массиве с 50'000 элементов цикл справился с задачей 0,31 сек, а модель Код:
Все равно спасибо.
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах |
27.01.2009, 16:49 | #8 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Цитата:
Была задача затолкать поиск элемента в одну строку кода Я думал, мой код покажет куда более худшее время... Кстати, если у Вас 64-битная система, можно попробовать объявлять переменные с типом Single вместо Long... Приведите весь код цикла поиска значения в массиве. Может, найдём какой-нибудь способ увелечить быстродействие...
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 27.01.2009 в 16:56. |
||
27.01.2009, 16:52 | #9 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Скорее всего потому, что сам поиск в строке тоже происходит через цикл. А строка с 100,000 символов, это уже роман «Война и мир»
Лучше день потерять — потом за пять минут долететь!©
|
27.01.2009, 17:01 | #10 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
По другому никак не обнаружить соответствие строки одному из элементов массива... Так что неважно, самому организовывать цикл, или использовать функцию (свою или встроенную) - основой поиска всё равно будет цикл по всем элементам массива. Другое дело, что при наличии встроенной функции можно было бы добиться незначительного уменьшения времени, но... в данном случае Microsoft о нас не позаботился... Цитата:
Сколько всего сравнений происходит? |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
выборка и сравнение из массива | Dennikid | Общие вопросы Delphi | 15 | 03.10.2008 09:25 |
добавление массива чисел в базу | kate158 | БД в Delphi | 3 | 24.09.2008 11:00 |
Перемещение из массива целых чисел... Си | Sota | Помощь студентам | 1 | 01.06.2008 19:51 |
Сравнение чисел с плавающей точкой ? | Ulex | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 12.04.2008 21:14 |
Сортировка массива чисел | Roberto | Помощь студентам | 1 | 02.04.2008 23:19 |