Разбить строку пополам - Turbo Pascal

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

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

Доброго времени суток друзья. Задался вопросом. Как разделить строку пополам. Например. Дана строка: anfdk_rlkfls_jfkjfl_lkjlkh_erjlkjl, как её разделить на две строки?Вот так: B = anfdk_rlkfls_jfkjfl_ C = lkjlkh_erjlkjl Символ "_" является пробелом. Притом, количество слов, могло быть и не чётным. Подскажите простенький метод.

Решение задачи: «Разбить строку пополам»

textual
Листинг программы
Var
  A,B : String;
  i,j : Byte;
Begin
  Writeln('Введите строку из слов, разделенных пробелами');
 { Readln(S); }  {}A:='anfdk rlkfls jfkjfl lkjlkh erjlkjl';{}
  A:=A+' ';
  i:=1;
  j:=Length(A);
  While i<j do
  Begin
    While (A[i]<>' ') do Inc(i);
    While (A[j]<>' ') and (j>i) do Dec(j);
    While (A[i]=' ') and (i<j) do Inc(i);
    While (A[j]=' ') and (j>i) do Dec(j);
  end;
  B:=Copy(A,i,Length(A)-i+1);
  A:=Copy(A,1,i);
  Writeln('A = ',A);
  Writeln('B = ',B);
end.

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

  1. В начале объявляются переменные A и B типа String, а также переменные i и j типа Byte.
  2. Выводится сообщение для ввода строки из слов, разделенных пробелами.
  3. В переменную A записывается введенная строка.
  4. Переменная A увеличивается на единицу, чтобы включить пробел в начало строки.
  5. Переменная i устанавливается равной 1, а переменная j - длине строки A.
  6. Запускается цикл While, который выполняется до тех пор, пока переменная i меньше переменной j.
  7. Внутри цикла While происходит проверка каждого символа в строке A. Если символ не является пробелом, то переменная i увеличивается на единицу. Если символ является пробелом и переменная j больше переменной i, то переменная j уменьшается на единицу. Если символ является пробелом и переменная i меньше переменной j, то переменная i увеличивается на единицу.
  8. После завершения внутреннего цикла While переменная i становится равной j.
  9. Копируется подстрока A от позиции i до позиции j в переменную B.
  10. Строка A изменяется так, чтобы первый символ был пробелом, и ее длина уменьшалась на единицу.
  11. Выводится сообщение с значениями переменных A и B.

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


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

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

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