Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi 7] Перемешивание букв в тексте 
:(
    Опции темы
n01r
Дата 7.6.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 11.6.2008

Репутация: нет
Всего: нет



Дан в поле memo любой текст, необходимо буквы в тексте перемешать и потом вернуть все буквы на свои места

Код

Например вот такие хаотично набранные буквы

в
 
Намрипер вот катие хаиточно набарнные кубыв



PM MAIL   Вверх
kami
Дата 7.6.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(n01r @  7.6.2009,  19:54 Найти цитируемый пост)
и потом вернуть все буквы на свои места

это как?
Запоминать последовательность перемешивания что ли?
Проще запомнить исходный текст.

И - буквы должны мешаться только в пределах своего слова?
PM MAIL WWW   Вверх
n01r
Дата 7.6.2009, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 11.6.2008

Репутация: нет
Всего: нет



Цитата(kami @ 7.6.2009,  20:09)
Цитата(n01r @  7.6.2009,  19:54 Найти цитируемый пост)
и потом вернуть все буквы на свои места

это как?
Запоминать последовательность перемешивания что ли?
Проще запомнить исходный текст.

И - буквы должны мешаться только в пределах своего слова?

Да, лучше просто вернуть исходный текст=)
Буквы должны мешаться только в пределах своего слова
PM MAIL   Вверх
n01r
Дата 7.6.2009, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 11.6.2008

Репутация: нет
Всего: нет



как преобразить этот код

Код

procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
i,j,len:integer;
x:char;
begin
  randomize;
  len := length(memo1.text);
  setlength(s,len);
  s := memo1.text;
  for i := 1 to len-1 do
    for j := i+1 to len do
      if random(31337) mod 7 = 0 then begin
        x := s[i];
        s[i] := s[j];
        s[j] := x;
        end;
    Memo1.Text := s;
    end;


Вместо текста какая абракадабра появляеться, буквы которые не были в тексте
PM MAIL   Вверх
kami
Дата 7.6.2009, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Задача разбивается на следующие под-задачи:
1. Найти слово.
2. Перемешать в нем буквы.
3. Добавить перемешанное слово к результату.

подзадача 1 легко решается изменением кода нахождения предложения. Всего-то нужно заменить в нем (коде) точку на пробел.
подзадача 2: код приведен вами. На первый взгляд - проблем в нем нет.
подзадача 3: в качестве приемника результата просто использовать другой TMemo.

Добавлено через 1 минуту и 1 секунду
Только насчет подзадачи 2 - нужно, естественно, не использовать полный текст, а задействовать в нем найденное в подзадаче 1 слово.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.2248 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.