Вывести строку, у которой в конце точка. Если точки нет, или перед точкой не буква, а пробел - то не выводить - Pascal

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

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

Я написал код и он работает т.е выводит текст если в конце точка, если точки нет или пробел после точки или какая-то буква то он не выводит, НО если ввести перед точкой пробел то он выведет строку а не должен. Допустим мы вводим wnejif или wifjwijf.wefwef или этот текст erigjwj с пробелом в конце то он их не выведет и это правильно, но если ввести wjfiwhf . то он выведет хотя в конце текста не точка а пробел, подскажите в чем проблема?
var
s:string;
begin
writeln('Введите текст');
readln(s);
if s[length(s)]='.' then writeln(s) else writeln('В конце теста должна быть точка');
end.

Решение задачи: «Вывести строку, у которой в конце точка. Если точки нет, или перед точкой не буква, а пробел - то не выводить»

textual
Листинг программы
var
  s: string;
 
begin
  writeln('Введите текст');
  readln(s);
  if length(s) > 1 then
    if (s[length(s)] = '.') and (s[length(s) - 1] <> ' ') then writeln(s) else writeln('В конце теста должна быть точка')
  else if (s[1] = '.') then writeln(s) else writeln('В конце теста должна быть точка');
end.

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

  1. В начале объявляются переменные: s - строка, в которую будет записываться введенный пользователем текст, и msg - строка, в которую будет записываться сообщение об ошибке.
  2. Выводится сообщение Введите текст.
  3. С помощью функции readln считывается введенный пользователем текст и сохраняется в переменной s.
  4. Проверяется условие: если длина введенного текста больше 1, то проверяется наличие точки в конце строки.
  5. Если точка есть и предыдущий символ не является пробелом, то выводится введенная строка.
  6. Если точки нет или перед точкой стоит пробел, выводится сообщение об ошибке.

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


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

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

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