Удалить пробелы, стоящие между первым вторым словами, а также между двумя последними словами - Pascal

Узнай цену своей работы

Формулировка задачи:

Удалить пробелы, стоящие между первым вторым словами, а также между двумя последними словами, на паскале

Решение задачи: «Удалить пробелы, стоящие между первым вторым словами, а также между двумя последними словами»

textual
Листинг программы
  1. var
  2.   s:string;
  3.   i,j,k:integer;
  4. begin
  5.   repeat
  6.     write('введите строку:');readln(s);
  7.   until s<>'';
  8.   i:=1;
  9.   while (s[i]=' ')and (i<length(s)) do i:=i+1;{пропуск лидирующих пробелов}
  10.   for k:=i to length(s) do
  11.     if s[k]=' ' then begin
  12.       while (s[k]=' ') and (k<length(s)) do delete(s,k,1);
  13.       break;
  14.     end;
  15.   j:=length(s);
  16.   while (s[j]=' ') and (j>1) do j:=j-1; {пропуск финишных пробелов}
  17.   k:=j;
  18.   repeat
  19.     if (k>1) and (s[k]=' ') and (k<length(s)) then begin
  20.       while (s[k]=' ') and (k>1) do begin delete(s,k,1);k:=k-1;end;
  21.       break;
  22.     end;  
  23.     k:=k-1;
  24.   until k<=i;  
  25.   writeln('Полученная строка: "',s,'"');
  26. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы