0 / 0 / 0
Регистрация: 09.07.2016
Сообщений: 3
1

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

09.07.2016, 19:30. Показов 1211. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста.
Текст записан в мемо1, надо записать измененный текст в мемо2.
Разделители - [' ','.',',',';',':','!']
Пример текста:
Мой дядя самых честных правил,
Когда не в шутку занемог.

Измененный:
М о й д я д я с а м ы х ч е с т н ы х п р а в и л,
К о г д а н е в ш у т к у з а н е м о г.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.07.2016, 19:30
Ответы с готовыми решениями:

Дан текст на русском языке: Записать его в разборку через пробел
Помогите пожалуйста с программой исходный текст записан в мемо1 Нужно что бы каждая буква текста...

Дан текст на английском языке: Записать его заглавными буквами
Помогите пожалуйста программой

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

Дан текст на русском языке. Напечатать в алфавитном порядке
Дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые не...

6
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
09.07.2016, 19:57 2
Пример неудачный, из разделителей только пробелы.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
const rz=[' ','.',',',';',':','!'];
var s:string;
    i:integer;
begin
s:=Edit1.Text;
for i:=length(s) downto 1 do
if s[i] in rz then delete(s,i,1);
for i:=length(s) downto 2 do
insert(' ',s,i);
Edit2.Text:=s;
end;
1
0 / 0 / 0
Регистрация: 09.07.2016
Сообщений: 3
09.07.2016, 20:08  [ТС] 3
Этот код заменяет вообще все разделители в тексте на пробел и если переделать под Memo то он ещё превращает в одну строку.
Если исправить на
Delphi
1
2
3
4
5
6
7
8
9
10
11
const rz=[' ','.',',',';',':','!'];
var s:string;
    i:integer;
begin
s:=Memo1.Text;
for i:=length(s) downto 1 do
if s[i] in rz then break;
for i:=length(s) downto 2 do
  insert(' ',s,i);
Memo2.Text:=s;
end;
то остаётся только проблема того, что ответ в Мемо2 записывается в одну строку, как это исправить?
0
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
09.07.2016, 20:10 4
Цитата Сообщение от Horizont Посмотреть сообщение
заменяет вообще все разделители в тексте на пробел
Так приведите нормальный пример, а то хрен знает что Вам нужно получить.
0
82 / 82 / 39
Регистрация: 17.02.2016
Сообщений: 464
09.07.2016, 20:15 5
совсем уже обнаглели
в чем проблема с кода который вам дали убрать ',' и проверять символ перевода строки?
или мозгов не хватает?
0
0 / 0 / 0
Регистрация: 09.07.2016
Сообщений: 3
09.07.2016, 20:20  [ТС] 6
Да действительно, пример плохой.Такой пример наверное получше будет:
Из:
это мой дядя:
Он,не читает книги.
Получить:
э т о м о й д я д я :
о н , н е ч и т а е т к н и г и .
Исходный текст в мемо1, а измененный в мемо2.
0
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
09.07.2016, 20:23 7
Лучший ответ Сообщение было отмечено Horizont как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button1Click(Sender: TObject);
const rz=[' ','.',',',';',':','!'];
var s:string;
    i,j:integer;
begin
for i:=0 to Memo1.Lines.Count-1 do
 begin
  s:=Memo1.Lines.Strings[i];
  for j:=length(s) downto 2 do
  insert(' ',s,j);
  Memo2.Lines.Add(s);
 end;
end;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.07.2016, 20:23
Помогаю со студенческими работами здесь

Дан текст на русском языке. Найти количество гласных букв в первом слове
Дан текст на русском языке. Найти количество гласных букв в первом слове.Паскаль

Дан текст на русском языке. Определить сколько раз в нем встречается самое длинное слово
Дан текст на русском языке. Определить сколько раз встречается самое длинное слово? Язык...

Дан файл, содержащий текст на русском языке. Найти слово, встречающееся в каждом предложении, или сообщить, чт
Дан файл, содержащий текст на русском языке. Найти слово, встречающееся в каждом предложении, или...

Дан текст на русском языке и некоторая буква. Найти слово, содержащее наибольшее количество указанных букв.
Дан текст на русском языке и некоторая буква. Найти слово, содержащее наибольшее количество...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru