IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Замена пробело, Нужно несколько пробелов заменить одним
Сема
сообщение 12.11.2004 16:33
Сообщение #1


Гость






Нужна помошь знающих людей. Вот задача: В тексте заменить все последовательности идущих подряд пробелов одним пробелом, т. е. "сжать" текст.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Флогримм
сообщение 13.11.2004 17:23
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 253
Пол: Мужской

Репутация: -  4  +


Код
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)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 22:34
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"