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

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

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

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


Гость






Нужна помошь знающих людей. Вот задача: В тексте заменить все последовательности идущих подряд пробелов одним пробелом, т. е. "сжать" текст.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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

 





- Текстовая версия 7.09.2025 18:03
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name