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

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

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

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

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

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

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

textual
Листинг программы
Var
  S    : String;
  Flag : Boolean;
  i    : Integer;
Begin
  Flag:=False;
  S:='HI THERE! HOW DID YOU KNOW I AM A BLONDE?';
  For i:=1 to Length(S) do
    If S[i] in ['.','!','?'] then
    Begin
      Flag:=False;
      Continue;
    end
    else
      If S[i] in ['A'..'Z'] then
        If Flag then S[i]:=LowCase(S[i]) else Flag:=True;
  Writeln(S);
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
Похожие ответы