Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
-11 / 9 / 1
Регистрация: 20.06.2021
Сообщений: 790
RAD 2009-XE2

Как найти строки, сохраняя их порядок?

12.10.2022, 04:42. Показов 3716. Ответов 70
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, возник вопрос как сохранить порядок всех слов найденных в строке если например ищу через pos по файлу, а в файле само собой слова не по порядку идут ?
Просто я использую массив для этого он сохраняет много пустых строк от начала и с конца =(

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
procedure FSearch(str: string; const iBufferSize: Integer);
var
  fs: TBufferedFileStream;
  sr: TStreamReader;
  line:string;
  p:integer;
  ar:array of string;
begin
  fs := TBufferedFileStream.Create(extractfilepath(paramstr(0))+'wordlist.txt', fmShareDenyNone, iBufferSize);
  try
    sr := TStreamReader.Create(fs,TEncoding.ANSI, False, 256);
    try
      repeat
       line:=sr.ReadLine;
        p:=Pos(line,str);
        if p>0 then begin
        SetLength(ar,p+1);
        ar[p]:=line;
        end;
       until sr.EndOfStream;
    finally
      sr.Free
    end;
  finally
    fs.Free;
  end;
for p:=Low(ar) to High(ar) do
form1.memo1.lines.add(ar[p]);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
FSearch('найди следующие слова: ежик туман медведь луна талант',1024);
end;
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2022, 04:42
Ответы с готовыми решениями:

Переместить все цифры в конец, а остальные символы в начало строки, сохраняя порядок взаимного расположения
Преобразовать строку символов по пaравилу: переместить все цифры в конец, а остальные символы в начало строки, сохраняя порядок взаимного...

Прямоугольную матрицу привести к квадратной путем удаления наим эл-тов каждой строки, сохраняя порядок
Сформировать в динамической памяти целочисленную матрицу размером N*M (N<M вводятся с клавиатуры). Получить квадратную матрицу порядка...

Как поменять местами две половины массива, сохраняя их порядок?
Как поменять местами две половины массива, сохраняя их порядок? Выгляеть должно так: исходный массив 123456 обработанный массив ...

70
14 / 11 / 3
Регистрация: 14.08.2022
Сообщений: 157
22.10.2022, 22:07
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Joeymax Посмотреть сообщение
Предлагаю растянуть эту тему еще как минимум на десять страниц, вывести в топ по количеству просмотров.
Подключяйся
0
1234 / 424 / 107
Регистрация: 31.03.2012
Сообщений: 1,159
22.10.2022, 22:15
Цитата Сообщение от leors Посмотреть сообщение
Подключяйся
Первый пошел
0
14 / 11 / 3
Регистрация: 14.08.2022
Сообщений: 157
22.10.2022, 22:52
Цитата Сообщение от Иван Ежик Посмотреть сообщение
Но регистры во встроенном ассемблере 32 битные
совершенно верно. RAX и прочих нету.
Но я ошибся. У меня сейчас DWord и другой хеш на 7-ке.
int64 на версии для Free Pascal
Есть вариант int64 и для 7-ки
Но разницы все равно не видно. хотя пробовал на огромных текстах.
0
57 / 52 / 5
Регистрация: 18.11.2018
Сообщений: 295
24.10.2022, 22:47
Цитата Сообщение от leors Посмотреть сообщение
Я написал свой модуль для себя. и пользуюсь им только я.
Это раз.

Не по теме:

Пользуйтесь на здоровье...
Пусть у вас код хоть супер секретный, покажите цифры времени выполнения, большего не прошу.


Цитата Сообщение от leors Посмотреть сообщение
Этой инфы хватает чтобы ты сел и написал прогу

Не по теме:


Я вас попросил замерить пару дней назад, а вы проигнорировали.
Вы не можете назвать конкретные цифры, хотя утверждаете что замеры сделали.

0
14 / 11 / 3
Регистрация: 14.08.2022
Сообщений: 157
25.10.2022, 00:05
Цитата Сообщение от Иван Ежик Посмотреть сообщение
Я вас попросил замерить пару дней назад, а вы проигнорировали.
О боже.
Неужели вы не понимаете такую простую вещь, что скорость зависит прежде всего от самого компа.
А для сравнения с обычным поиском нужно искать этот самый поиск, который где-то на старых дисках. А мне влом это делать.

Добавлено через 4 минуты
Второе.
Зачем вам это вообще нужно? Чтоб меня уязвить? Извините, я не средство для развлечения, чтоб кто-то там поржал.
У вас свои коды, у меня свои.
0
57 / 52 / 5
Регистрация: 18.11.2018
Сообщений: 295
25.10.2022, 00:07
Цитата Сообщение от leors Посмотреть сообщение
скорость зависит прежде всего от самого компа
Прекрасно понимаю , и мерять в тактах умею, и интерполировать результаты на частоту и архитектуру процессора тоже смогу.
И через годик-два смогу разобрать алгоритм на исполнительные блоки процессора, найти узкие места и оптимизировать.Но это если ленится не буду как обычно
0
57 / 52 / 5
Регистрация: 18.11.2018
Сообщений: 295
25.10.2022, 00:13
Цитата Сообщение от leors Посмотреть сообщение
Чтоб меня уязвить
Не, чтобы цель иметь, поскольку стремиться к табличным оптимизированным алгоритмам из узкоспециализированных библиотек не имеет смысла, их писали и вылизывали профессионалы годами...
У меня пока в лучших вариантах 70Мб/сек совсем без оптимизаций
На скрине не самая удачная сборка
Время в секундах all time второй строкой скорость тысяч слов в секунду...
Миниатюры
Как найти строки, сохраняя их порядок?  
0
14 / 11 / 3
Регистрация: 14.08.2022
Сообщений: 157
25.10.2022, 00:56
Поскольку на текст есть ограничения в компонентах.
я пробовал на бинарном потоке.
Роман Война и мир клонировал в один файл сто раз.
в конец воткнул последовательность которой в романе точно нет.
Нашлась она практически мгновенно.
1
57 / 52 / 5
Регистрация: 18.11.2018
Сообщений: 295
25.10.2022, 01:06
Цитата Сообщение от leors Посмотреть сообщение
сто раз
314Mb звучит перспективно.
Теперь я понимаю на какие скорости ориентироваться.
0
14 / 11 / 3
Регистрация: 14.08.2022
Сообщений: 157
25.10.2022, 01:07
общее число символов в 4 томах
2 966 547 не считая пробелы
умножаем на 2 поскольку юникод.
и на 100
600 мегабайт
Но и комп нехилый.
учитывая райд массив с общей скоростью полтора гигабайта в сек.
0
57 / 52 / 5
Регистрация: 18.11.2018
Сообщений: 295
25.10.2022, 01:26
В памяти должно быть ещё быстрее по идее.
Диск тоже есть быстрый, попробую заняться.
Кликните здесь для просмотра всего текста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.10.2022, 01:26

В массиве, все элементы которого различны, найти и удалить n наименьших элементов, «поджимая» массив к началу и сохраняя порядок следования C/C++
В массиве А(l), все элементы которого различны, найти и удалить n наименьших элементов, «поджимая» массив к началу и сохраняя порядок...

В массиве, все элементы которого различны, найти и удалить n наименьших элементов, «поджимая» массив к началу и сохраняя порядок следования
В массиве, все элементы которого различны, найти и удалить n наименьших элементов, «поджимая» массив к началу и сохраняя порядок следования

В массиве, все элементы которого различны, найти и удалить n наименьших элементов, «поджимая» массив к началу и сохраняя порядок следования
В массиве А(l), все элементы которого различны, найти и удалить n наименьших элементов, «поджимая» массив к началу и сохраняя порядок...

Как переставить первые два и последние два элемента местами в массиве, сохраняя порядок их следования?
подскажите как переставить первые два и последние два элемента местами в массиве, сохраняя порядок их следования.

Bывести числа от A до B, сохраняя заданный порядок
Bывести на экран числа от A до B, сохраняя заданный порядок. Формат входных данных Вводятся два числа А и В (|А|, |В| < 231 - 1). ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
71
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru