Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2013, 18:56   #1
User74
 
Регистрация: 01.01.2013
Сообщений: 4
По умолчанию Ищу программу перемешивания слов в больших текстах

Доброе время суток!
Я не программист.
Очень нужна программа случайного перемешивания слов в больших текстах (до 100 тыс слов). Никак не могу найти такую программу либо как функцию в какой-нибудь более сложной - помогите пожалуйста.

Огромное спасибо!
User74
User74 вне форума Ответить с цитированием
Старый 01.01.2013, 19:13   #2
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Да и вряд ли вы ее найдете в интернете.(именно скомпилированный исходник)
Обычная задачка по работе со строками, не более того.

Вот, пожалуйста (клик)
Если желаете сами реализовать, все-таки прийдется вникать в это дело.

Последний раз редактировалось Базиля; 01.01.2013 в 19:17.
Базиля вне форума Ответить с цитированием
Старый 01.01.2013, 19:38   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

загрузить в память (если я правильно понимаю, то это всего навсего около 2 - 4 Мб в памяти - мелочь по нынешним временам), перемешать в памяти (см. пост тут).
Всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.01.2013, 19:48   #4
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Serge_Bliznykov
Хороший вариант
Спасибо.
P.S. Но в данном случае, я все-таки на стороне польз. п/п
Интересно по какому алгоритму устроен метод Exchange.

Последний раз редактировалось Базиля; 01.01.2013 в 19:50.
Базиля вне форума Ответить с цитированием
Старый 06.01.2013, 01:25   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

User74, Вы куда запропастились? Уже разобрались самостоятельно?
Или необходимость в программе отпала?


Цитата:
Сообщение от Базиля
Но в данном случае, я все-таки на стороне польз. п/п
э.. не совсем понял, о чём Вы... Что за пользовательская процедура/подпрограмма?..

Цитата:
Сообщение от Базиля
Интересно по какому алгоритму устроен метод Exchange.
да не вопрос!
Указатели местами в списке меняются:
Код:
procedure TList.Exchange(Index1, Index2: Integer);
var
  Item: Pointer;
begin
  if (Index1 < 0) or (Index1 >= FCount) then
    Error(@SListIndexError, Index1);
  if (Index2 < 0) or (Index2 >= FCount) then
    Error(@SListIndexError, Index2);
  Item := FList^[Index1];
  FList^[Index1] := FList^[Index2];
  FList^[Index2] := Item;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.01.2013, 02:39   #6
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Serge_Bliznykov
Цитата:
да не вопрос!
Указатели местами в списке меняются:
Спасибо!
Буду знаком
Цитата:
э.. не совсем понял, о чём Вы... Что за пользовательская процедура/подпрограмма?..
Мне кажется, что в данном случае все-таки лучше изобрести этот самый велосипед собственноручно. Полезней будет и приятней
Базиля вне форума Ответить с цитированием
Старый 06.01.2013, 09:35   #7
User74
 
Регистрация: 01.01.2013
Сообщений: 4
По умолчанию

Спасибо всем за помощь!!! И рад бы с толком воспользоваться советами, но ничего не понимаю в языках программирования...
Выход я нашел такой: мешаю строки программой "автоформат версией 4.4 бета 3 от 19.02.2012" - автор программы Плотников Сергей Александрович - ему также огромное спасибо.

Осталась одна маленькая задача - объединение строк в одну (удаление в тексте всех окончаний строк) - с ней пока справиться не могу, в сети ничего не нашел...
User74 вне форума Ответить с цитированием
Старый 06.01.2013, 09:56   #8
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от User74 Посмотреть сообщение
Осталась одна маленькая задача - объединение строк в одну (удаление в тексте всех окончаний строк) - с ней пока справиться не могу, в сети ничего не нашел...
Строки заканчиваются кодом 0DH, 09H или их комбинацией. Комбинаций всего четыре. В каком нибудь Nex-редакторе открываем файл и методом замены, меняем эти коды на пробел, код 20H. Вот и всё.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 06.01.2013, 10:03   #9
User74
 
Регистрация: 01.01.2013
Сообщений: 4
По умолчанию

Спасибо огромное!
User74 вне форума Ответить с цитированием
Старый 06.01.2013, 12:01   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
меняем эти коды на пробел, код 20H.
можно и так


User74, написать такую программку не просто, а ОЧЕНЬ просто!

в архиве приложение, которое объединяет все строчки исходного файла в ОДНУ строку и сохраняет результат в выходной файл.
MergeTextFile.rar

Последний раз редактировалось Serge_Bliznykov; 06.01.2013 в 12:32.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Улучшение процедуры перемешивания ZvEr_HaCkEr Общие вопросы Delphi 8 03.05.2011 15:43
Ищу программу TP andrewpalkin Паскаль, Turbo Pascal, PascalABC.NET 2 07.12.2010 20:02
Ищу программу. _Malinka_ Софт 1 06.10.2010 14:32
Delphi7 Шифр перемешивания. Реализация randomiaiz Помощь студентам 0 13.06.2010 19:49
Ищу программу Demitriy Софт 0 11.06.2009 14:12