Удалить пробелы, стоящие между первым вторым словами, а также между двумя последними словами - Pascal
Формулировка задачи:
Удалить пробелы, стоящие между первым вторым словами, а также между двумя последними словами, на паскале
Решение задачи: «Удалить пробелы, стоящие между первым вторым словами, а также между двумя последними словами»
textual
Листинг программы
- var
- s:string;
- i,j,k:integer;
- begin
- repeat
- write('введите строку:');readln(s);
- until s<>'';
- i:=1;
- while (s[i]=' ')and (i<length(s)) do i:=i+1;{пропуск лидирующих пробелов}
- for k:=i to length(s) do
- if s[k]=' ' then begin
- while (s[k]=' ') and (k<length(s)) do delete(s,k,1);
- break;
- end;
- j:=length(s);
- while (s[j]=' ') and (j>1) do j:=j-1; {пропуск финишных пробелов}
- k:=j;
- repeat
- if (k>1) and (s[k]=' ') and (k<length(s)) then begin
- while (s[k]=' ') and (k>1) do begin delete(s,k,1);k:=k-1;end;
- break;
- end;
- k:=k-1;
- until k<=i;
- writeln('Полученная строка: "',s,'"');
- end.
Объяснение кода листинга программы
- Создается переменная s и переменные-счетчики i, j, k для работы со строкой:
s
- пустая строка,i
- счетчик для поиска первого непробельного символа,j
- счетчик для поиска последнего непробельного символа,k
- вспомогательный счетчик.
- Пользователю предлагается ввести строку, циклический запрос ввода повторяется, пока строка не будет заполнена.
- Пока переменная i меньше, чем длина строки и символы по указанному индексу строки равны пробелу, значение переменной i увеличивается на 1. Этот фрагмент кода пропускает начальные пробелы в строке.
- Организуется цикл перебора всех символов строки от i до конца строки.
- Если текущий символ - пробел, то внутри этого условия осуществляется удаление всех последующих пробелов до первого непробельного символа, затем цикл завершается.
- Устанавливается значение j равное длине строки.
- Запускается цикл, который перебирает все символы строки с конца в начало до первого непробельного символа.
- Если текущий символ - пробел, то внутри этого условия осуществляется удаление всех предыдущих пробелов до первого непробельного символа, затем цикл завершается.
- Выводится итоговая отредактированная строка без лидирующих и финишных пробелов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д