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

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

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

 
 Ответить  Открыть новую тему 
> обработка символьной информации, АВС заменить на ОДЕ
футбик
сообщение 11.10.2008 16:49
Сообщение #1


Новичок
*

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

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


Всем привет. Помогите пожалуйста !help.gif, необходимо все сочетания АВС заменить на ОДЕ, слова разделены пробелами, предложения заканчиваются точкой. Текст вводится с клавиатуры, по желанию можно определить фиксированную длину
Заранее благодарен smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
maksimla
сообщение 11.10.2008 17:59
Сообщение #2


Знаток
****

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

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


пример напиши


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.10.2008 18:14
Сообщение #3


Гость






Можно без примера, но с уточнением: менять все слова АВС на ОДЕ, или именно "сочетания"? Если второе - то зачем информация, что
Цитата
слова разделены пробелами, предложения заканчиваются точкой.
?

P.S. Кстати, это (замена одних слов на другие) выкладывалось на форуме, поищи... Замена сочетаний вообще делается элементарно, Pos + Delete + Insert в помощь...
 К началу страницы 
+ Ответить 
футбик
сообщение 12.10.2008 17:28
Сообщение #4


Новичок
*

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

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


заменить нужно сочетания, а с этой штукой: Pos + Delete + Insert , будем разбираться
Спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
футбик
сообщение 15.10.2008 13:59
Сообщение #5


Новичок
*

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

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


в общем есть бок, меняет только 1-ю 'ABC', подскажите пожалуйста.
var
str,st,s : string;
i,z:integer;
begin
read(str);
s:='ABC';
st:='ОДЕ';
z:=pos(s,str);
for i:=1 to length(str) do
begin
delete(str,z,length(s));
insert(st,str,z);
end;
writeln(str);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 15.10.2008 15:32
Сообщение #6


Гость






Цитата
есть бок, меняет только 1-ю 'ABC'
Причем прогоняет цикл впустую length(s)-1 раз... Обрати внимание: у тебя внутри цикла For ни одно выражение от i не зависит... Странно, не правда? Если ничего не меняется, так зачем гонять цикл несколько раз?

На самом деле все проще:

...
repeat
z := pos(s, str);
if z <> 0 then begin
{ вот тут и меняешь одно на другое }
end;
until z = 0; { <--- больше 'ABC' нет, выходим }
...
Цикл For здесь не нужен вообще...
 К началу страницы 
+ Ответить 
футбик
сообщение 15.10.2008 16:42
Сообщение #7


Новичок
*

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

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


volvo спасибо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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