Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 1
Регистрация: 26.08.2015
Сообщений: 45
1

Замена в тексте

18.10.2016, 13:50. Показов 1171. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я даже незнаю как описать то что мне нужно... но попробую.

Есть текст. В нём нужно заменить допустим буквы А на Б. Но заменить их с вероятностью допустим 20%.

Например: из ХАХАХАХАХАХАХАХАХАХА получится что-то типа: ХАХАХБХАХАХАХАХАХБХА.

Не знаю получилось ли объяснить.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2016, 13:50
Ответы с готовыми решениями:

Замена слова в тексте
Всем доброго времени суток у меня такая проблема мне нужна программа для замены слова в тексте или...

Замена полных слов в тексте
Подскажите алгоритм замены слова в тексте. Есть класс class myText { private: AnsiString...

Замена в тексте по регулярному выражению с использованием Unicode
Вариант 1: UnicodeString reg_replace(UnicodeString content_p, UnicodeString pattern_p,...

Замена имени и отчества инициалами в набранном тексте
Можите помочь с програмой очень срочно надо Вот задания "Изменение имени и отчества инициалами в...

9
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
18.10.2016, 14:53 2
Цитата Сообщение от KOTYAREG Посмотреть сообщение
Но заменить их с вероятностью допустим 20%
Тогда уж проще сказать заменить 20% букв А на букву Б.
0
Практикантроп
4840 / 2725 / 533
Регистрация: 23.09.2011
Сообщений: 5,795
18.10.2016, 14:57 3
Лучший ответ Сообщение было отмечено KOTYAREG как решение

Решение

.. то-есть заменять не каждую А, а хаотично (но с вероятностью)? Так подойдет? Или нужны пояснения?__
C++
1
2
3
4
5
    randomize();
    String G = Edit1->Text ;
    for(int i=1;i<=G.Length();i++)
      if(G[i]=='А' && rand()%100<20) G[i]='Б';
    Edit1->Text = G;
1
2 / 2 / 1
Регистрация: 26.08.2015
Сообщений: 45
18.10.2016, 16:14  [ТС] 4
Что я неправильно сделал с рандомом?
Заменяет либо все, либо ни 1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
String ChaosReplace(String fulltext, String bukv_old, String bukv_new, int proc)
{
    for(int i=1;i<=fulltext.Length();i++)
      if(fulltext[i]==bukv_old[1] && randm(0,100)<proc) fulltext[i]=bukv_new[1];
    return fulltext;
}
 
int randm(int min,int max)
{
    int temp = GetTickCount();
    srand(time(0)*temp);
    return min + rand() % (max - min);
}
0
Практикантроп
4840 / 2725 / 533
Регистрация: 23.09.2011
Сообщений: 5,795
18.10.2016, 16:21 5
Я думаю, что компилятор (оптимизатор) получает для цикла значение из функции randm() один раз и использует его на протяжении всего цикла, и там уж - как повезет... .
Но, скорее всего, я ошибаюсь.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32989 / 21295 / 8180
Регистрация: 22.10.2011
Сообщений: 36,588
Записей в блоге: 8
18.10.2016, 16:30 6
Инициализировать генератор нужно один раз, а не на каждой итерации. 10/11-ю строки кода нужно перенести в другое место.
1
2 / 2 / 1
Регистрация: 26.08.2015
Сообщений: 45
18.10.2016, 16:43  [ТС] 7
Спасибо, а это можно делать в другом файле? например при создании главной формы.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32989 / 21295 / 8180
Регистрация: 22.10.2011
Сообщений: 36,588
Записей в блоге: 8
18.10.2016, 16:44 8
Можно. Обычно так и делается.
1
20 / 20 / 8
Регистрация: 06.11.2013
Сообщений: 65
Записей в блоге: 1
18.10.2016, 17:34 9
Заменить 10 одинаковых букв с вероятностью 20% не означает, что в результате получим 8 прежних букв и две новых. ))
0
2 / 2 / 1
Регистрация: 26.08.2015
Сообщений: 45
18.10.2016, 18:33  [ТС] 10
Мне это и не нужно. Мне как раз нужно было то что предложил nick42.
0
18.10.2016, 18:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2016, 18:33
Помогаю со студенческими работами здесь

Замена в тексте по условию
Здравствуйте. Есть какой-то текст, в нем строка &lt;enclosure...

Замена символов в тексте
uses crt; var i, t:integer; f:string; begin writeln('vvedite stroku'); readln(f);...

Поиск замена в тексте
допустим вот такой код &lt;p&gt;&lt;a href=&quot;football.html&quot;&gt;текст........ &amp; # 171 ;Айнтрахта&amp; # 187 ;...

Замена символов в тексте
Привет. Срочно нужна помощь в решении задачи. так как не успеваю до зачета. Задача символьного...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru