Вывести строку, у которой в конце точка. Если точки нет, или перед точкой не буква, а пробел - то не выводить - 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.
Объяснение кода листинга программы
- В начале объявляются переменные: s - строка, в которую будет записываться введенный пользователем текст, и msg - строка, в которую будет записываться сообщение об ошибке.
- Выводится сообщение
Введите текст
. - С помощью функции readln считывается введенный пользователем текст и сохраняется в переменной s.
- Проверяется условие: если длина введенного текста больше 1, то проверяется наличие точки в конце строки.
- Если точка есть и предыдущий символ не является пробелом, то выводится введенная строка.
- Если точки нет или перед точкой стоит пробел, выводится сообщение об ошибке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д