Перевод каретки на новую строку - Free Pascal

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

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

Решаю задачу на тимусе №1601. Все работает, как нужно, но есть проблемы с переводом каретки на новую строку ("Входные данные содержат сообщение Анжелы, которое состоит из латинских букв в верхнем регистре, пробелов,

переводов строк

и знаков препинания"). Если использовать символов перевода каретки (получаем из таблицы ASCII), то почему-то оператор вывода write выводит только ту часть строки, которая находится до перевода каретки. Например, есть строка: "HI THERE! HOW DID YOU KNOW I AM A BLONDE?". результат: "Hi there!". Прошу вашей помощи

Решение задачи: «Перевод каретки на новую строку»

textual
Листинг программы
  1. Var
  2.   S    : String;
  3.   Flag : Boolean;
  4.   i    : Integer;
  5. Begin
  6.   Flag:=False;
  7.   S:='HI THERE! HOW DID YOU KNOW I AM A BLONDE?';
  8.   For i:=1 to Length(S) do
  9.     If S[i] in ['.','!','?'] then
  10.     Begin
  11.       Flag:=False;
  12.       Continue;
  13.     end
  14.     else
  15.       If S[i] in ['A'..'Z'] then
  16.         If Flag then S[i]:=LowCase(S[i]) else Flag:=True;
  17.   Writeln(S);
  18. end.

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

  1. Объявлены три переменные: S (строка), Flag (логическое значение), i (целое значение).
  2. Значение переменной Flag установлено в False.
  3. Значение переменной S установлено в строку HI THERE! HOW DID YOU KNOW I AM A BLONDE?.
  4. Запускается цикл, который будет выполняться для каждого символа в строке S.
  5. Если текущий символ является одним из знаков пунктуации ('.', '!', '?'), то значение переменной Flag сбрасывается в False и выполнение цикла продолжается.
  6. Если текущий символ является буквой от 'A' до 'Z' (включительно), то проверяется значение переменной Flag.
  7. Если Flag равно True, то значение текущего символа приводится к нижнему регистру и переменная Flag сбрасывается в False.
  8. Если Flag равно False, то переменная Flag остается равной False.
  9. После выполнения цикла, значение переменной S выводится на экран.

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


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

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

15   голосов , оценка 3.933 из 5

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

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

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