Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 39

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

11.12.2016, 20:11. Показов 1819. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2016, 20:11
Ответы с готовыми решениями:

В строке нужно убрать все лишние пробелы, но код оставляет один пробел вначале если его написать
#include<stdio.h> #define MAX 500 void text(char); int main() { char str; text(str); printf("%s", str); return 0; } ...

Удалить в строке все лишние пробелы, то есть серии подряд идущих пробелов заменить на одиночные пробелы
Я уже решал эту задачу с помощью циклов и символьных массивов, и выкладывал на этот форум , но я не знаю как решить её , с помощью типа...

Убрать лишние пробелы в строке
дана строка-предложение с избыточными пробелами между словами. Преобразовать ее так чтобы между словами оставался один пробел

3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 12
11.12.2016, 21:25
Сначала заменить многоточия на любой другой символ (скажем, на #), потом поменять все точки на точку с запятой, а потом вернуть назад # в точку. А вообще это делается гораздо проще:
Pascal
1
writeln(k.Replace('...', '#').Replace('.', ';').Replace('#', '.'));
1
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 39
11.12.2016, 23:22  [ТС]
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
 Аватар для volvo
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 12
12.12.2016, 00:26
Цитата Сообщение от Тер Посмотреть сообщение
Выдает несколько раз повторенный верный ответ
Ничего не повторяется:

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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2016, 00:26
Помогаю со студенческими работами здесь

Убрать лишние пробелы в строке из файла
Строка считывается из текстового файла (тип fstream), имя которого запрашивается у пользователя. Строка состоит из нескольких слов, которые...

Как убрать в введенной строке лишние пробелы?
Например в питоне я сделал так. Разделил сплитом по пробелу и составил список полученных слов и потом собрал полученный список с помощью...

Заменить в строке все лишние пробелы одинарным
Замените в строке все лишние пробелы одинарным. Удалите пробелы перед символами пунктуации. Эта программа не удаляет пробел полностью...

Убрать в строке лишние пробелы, подсчитать количество символов, слов и предложений
Доброго времени суток! Если у кого-то есть возможность, посмотрите пожалуйста, не накосячил ли я где в данных заданиях (никак не могу...

Убрать в строке все лишние пробелы и поменять четные и нечетные слова местами
Помогите, пожалуйста, написать код: С клавиатуры вводится строка. Количество слов четно. Нужно поменять местами слова: первое и второе,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru