Добавить в строку пробелы после знаков препинания, если они там отсутствуют.
var s: string; c: char; i: byte; begin write('String: '); readln(s); i := 1; repeat c := s[i]; if ((c='.')or(c=',')or(c='!')or(c='?')) and (s[i+1]' ') then s := copy(s,1,i) + ' ' + copy(s,i+1,length(s)-i); i := i + 1; until (i >= length(s)); writeln('String: ',s); readln end.
Комментарии
А что вводить после запуска
А что вводить после запуска программы?
строку
Строку =_=
молю о помощи!
А как сделать такую программу без массива? Очень нужно, зависит годовая оценка, а нам сказали каждую строчку то боя снять!(
И конкретно что ввести после запуска программы?
Молю о помощи!
А здесь и нет массива.
А здесь и нет массива.
Вот.
А Где вы видели тут массив? в
А Где вы видели тут массив?
в поле строки вводите строку со знаками препинания с пробелами после них и без пробелов. тоесть проверяйте выполнение условия задачи (если есть пробелы после знак преп то не выполнять действий иначе добавить пробел)
А как допустим вставить
А как допустим вставить пробел перед знаком препинания????
ну и...допустим 15 символов
ну и...
допустим 15 символов в строке...
аб.в.о.аб.в.а.о
находим первую точку, ставим пробел...длина строки стала 16..
находим вторую ставим пробел..длина строки 17.. и т.д.
но цикл прокручивается только 15 раз..поэтому знаки которые стоят после 15 символа не будут проверяться...
это если писать цикс с
это если писать цикс с постусловием. Используйте repeat или while
var str: String; i:
спасибо
спасибо, второй вариант подошел