![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Сема |
![]()
Сообщение
#1
|
Гость ![]() |
Нужна помошь знающих людей. Вот задача: В тексте заменить все последовательности идущих подряд пробелов одним пробелом, т. е. "сжать" текст.
|
![]() ![]() |
Флогримм |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 253 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код program del_prob; var s:string; begin write('Введите строку> '); readln(s); while pos(' ',s)<>0 do delete(s,pos(' ',s),1);{выполняем цикл while..do... до тех пор, пока в тексте не останется ни одной комбинации идущих подряд двух пробелов; ищем в тексте 2 пробела и удаляем один из них} writeln('Обработанная строка> 's); end. Сема, вот, что тебе нужно для разбора задачи: Цитата While (зарезервированное слово) --- Оператор цикла While содержит выражение, которое управляет повторением выполнения отдельного или составного оператора. Синтаксис: While выражение Do оператор Замечания: Оператор после Do будет выполняться до тех пор, пока булево выражением является истинным (True). Выражение оценивается до выполнения оператора, так что если булево выражение с самого начала было ложным (False), то оператор не будет выполнен ни разу. (В отличие от оператора цикла Repeat) Цитата Delete (процедура) --- Удаляет подстроку из строки. Объявление: Procedure Delete(Var S : String; Index : Integer; Count : Integer); Режим: Windows, Real, Protected Замечания: Параметр S - переменная со строковым типом. Index и Count - целочисленные выражения. Delete удаляет Count символов из строки S, начиная с позиции Index. Если значение Index больше, чем длина S, то никакие символы не удаляются. Если Count определяет большее количество символов, чем остается в строке с позиции Index до конца строки, то удаляется остаток строки. Цитата Pos (функция) --- Ищет подстроку в строке. Объявление: Function Pos(Substr : String; S : String) : Byte; Режим: Windows, Real, Protected Замечания: Параметры Substr и S - строковые выражения. Pos ищет первое вхождение строки Substr в строку S и возвращает целочисленное значение, которое является индексом первого символа Substr внутри S. Если строка Substr не найдена, то Pos возвращает нуль. -------------------- Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
|
![]() ![]() |
![]() |
Текстовая версия | 7.09.2025 18:03 |