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

Заменить в строке "." на ";", "." на ".", убрать лишние пробелы. Не могу доделать один кусочек

11.12.2016, 20:11. Показов 1138. Ответов 3
Метки нет (Все метки)

Не соображу, как уместить два действия так, чтобы работали оба, а именно, исходные "." заменить на ";", а исходные "..." на точки, и при этом чтобы новые точки не становились ";". Помогите, пожалуйста!

Pascal
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
35
36
37
38
39
40
41
42
program wq;
 
var
  K: string;
  i, L: integer;
 
begin
  
  writeln('Введите строку');
  readln(K);
  L := length(K); 
  
  
  
  
  for i := L - 2 downto 1 do 
  begin
    if copy(K, i, 3) = '...' then delete(K, i, 2);
  end;
  
  begin
    for i := 1 to L do 
    begin
      if copy(K, i, 1) = '.' then  K[i] := ';';
    end;
    
    
    
    begin
      
      i := 1;
      repeat
        if copy(K, i, 2) = '  ' then
          K := copy(K, 1, i) + copy(K, i + 2, L)
        else
          i := i + 1
      until (i > L);
      
      writeln(K);
    end;
  end;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2016, 20:11
Ответы с готовыми решениями:

Заменить в строке "Мама мыла раму" буквы "а" на знак "_" . Вывести полученный массив на экран
Заменить в строке "Мама мыла раму" буквы "а" на знак "_" . Вывести полученный массив на экран....

В чем ошибка? Когда печатаю "а" или "б" все работает, а когда "А" или "Б" то он не меняет "А" на "Б"
{Программа заменяет буквы "а" на буквы "б" в введенном тексте} var stroka : string; i :...

В строке каждую группу подряд идущих букв "к" необходимо заменить на одну букву "к"
Дана строка t, напишите алгоритм получения новой строки,в которой каждую группу подряд идущих букв...

Как скрыть в graphABC кнопки "свернуть", "Развернуть", "Закрыть"
Как скрыть в graphABC кнопки "свернуть", "Развернуть", "Закрыть"

3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31262 / 20435 / 7967
Регистрация: 22.10.2011
Сообщений: 35,485
Записей в блоге: 6
11.12.2016, 21:25 2
Сначала заменить многоточия на любой другой символ (скажем, на #), потом поменять все точки на точку с запятой, а потом вернуть назад # в точку. А вообще это делается гораздо проще:
Pascal
1
writeln(k.Replace('...', '#').Replace('.', ';').Replace('#', '.'));
1
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 39
11.12.2016, 23:22  [ТС] 3
volvo, спасибо, но я не совсем поняла...

Мне подсказали так:
Pascal
1
2
3
4
5
6
for i := 1 to L do
begin
if copy(K, i, 1) = '.' then
if copy(K, i, 3) = '...' then delete(K, i, 2)
else if copy(K, i, 1) = '.' then K[i] := ';';
end;
Попробовала Вашим методом. Выдает несколько раз повторенный верный ответ. Ищу проблему.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31262 / 20435 / 7967
Регистрация: 22.10.2011
Сообщений: 35,485
Записей в блоге: 6
12.12.2016, 00:26 4
Цитата Сообщение от Тер Посмотреть сообщение
Выдает несколько раз повторенный верный ответ
Ничего не повторяется:

Pascal
1
2
3
4
5
6
var
  K: string;
begin
  k := 'start ... finish. begin. end...';
  writeln(k.Replace('...', '#').Replace('.', ';').Replace('#', '.'));
end.
прекрасно выдает ожидаемую строку: start . finish; begin; end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2016, 00:26

Составьте программу замены в слове Х всех букв "а" и "я" на слог "по"
Составьте программу замены в слове Х всех букв "а" и "я" на слог "по". заранее спасибо!

Как перевести числа с "String" в "integer" или "Real"?
как перевести числа с "String" в "integer" или "Real"?

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

Определить, что в введенной строке букв "а" больше, чем "б"
Задание : Составить программу, организующую работу с пользователем в диалоговом режиме: программа...

Узнать количество букв "А", и наличие буквы "С" в строке
Дана последовательность символов х1,х2..хn Узнать кол-во букв "А" ,и есть ли буква "С" если её нет...

В файле заменить буквы "а", "б" и "в" на 1
дан файл с последовательностью букв. нужно заменить буквы а, б и в изменить на 1


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.