Удалить пробелы, стоящие между первым вторым словами, а также между двумя последними словами - 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.

Объяснение кода листинга программы

  1. Создается переменная s и переменные-счетчики i, j, k для работы со строкой:
    • s - пустая строка,
    • i - счетчик для поиска первого непробельного символа,
    • j - счетчик для поиска последнего непробельного символа,
    • k - вспомогательный счетчик.
  2. Пользователю предлагается ввести строку, циклический запрос ввода повторяется, пока строка не будет заполнена.
  3. Пока переменная i меньше, чем длина строки и символы по указанному индексу строки равны пробелу, значение переменной i увеличивается на 1. Этот фрагмент кода пропускает начальные пробелы в строке.
  4. Организуется цикл перебора всех символов строки от i до конца строки.
  5. Если текущий символ - пробел, то внутри этого условия осуществляется удаление всех последующих пробелов до первого непробельного символа, затем цикл завершается.
  6. Устанавливается значение j равное длине строки.
  7. Запускается цикл, который перебирает все символы строки с конца в начало до первого непробельного символа.
  8. Если текущий символ - пробел, то внутри этого условия осуществляется удаление всех предыдущих пробелов до первого непробельного символа, затем цикл завершается.
  9. Выводится итоговая отредактированная строка без лидирующих и финишных пробелов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы