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

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

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

> Строки
SeRGuS
сообщение 18.01.2005 22:44
Сообщение #1


Новичок
*

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

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


если в строке встречается . заменить на ...

делал так:

Код

 ............
s:='..';
read (s1);
for i:=1 to length(s1) do
if s[i]='.' then insert(s,s1,i);
 .............


чёт не получается то, что хотел в результате
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
Altair
сообщение 18.01.2005 23:38
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


Код
const
s1:string='DDD';
var
s:string;
I:byte;
begin
 readln(s);
 While Pos('.',s)<>0 do
 begin
  insert(s1,s,pos(s,'.'));
  delete(s,pos(s,'.'),1);
 end;
 writeln(s);
end.

ТОлько не вздумай менять "." на "..." - при том алгоритме что я дал, убдет бескоенчный цикл.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 18.01.2005 23:49
Сообщение #3


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


вот универсальный алгоритм:
Код
const
s1:string='DDD';
var
s:string;
I,j:byte;
a:array[1..255] of byte;
begin
 readln(s); i:=0;
 While Pos('.',s)<>0 do
 begin
  inc(i);
  a[i]:=pos('.',s);
  delete(s,pos('.',s),1);
 end;
 for j:=1 to i do insert(s1,s,a[j]);
 writeln(s);
end.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
SeRGuS
сообщение 18.01.2005 23:56
Сообщение #4


Новичок
*

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

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


Спасибо за помощь
пожалуйста!

Сообщение отредактировано: Oleg_Z - 18.01.2005 23:57
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.01.2005 9:33
Сообщение #5


Гость






Oleg_Z
Цитата
вот универсальный алгоритм:

Не такой уж он и универсальный rolleyes.gif
Код
for j:=1 to i do insert(s1,s,a[j]);
Вот тут после первой же вставки вся нумерация нарушится, и дальнейшие вставки приведут к полной бессмыслице... Нужно двигаться вот так:
Код
for j:=i downto 1 do insert(s1,s,a[j]);
тогда ничего не нарушается ;)
 К началу страницы 
+ Ответить 
Altair
сообщение 20.01.2005 20:18
Сообщение #6


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


да, точно. smile.gif вот что значит выбрать правильные тесты при проверке решения!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
_trminator
сообщение 20.01.2005 23:17
Сообщение #7


Гость






Заменить все точки на какой-нибудь неиспользуемый символ (из псевдографики там, или из начала ASCII), а потом этот символ заменить тремя точками =)
 К началу страницы 
+ Ответить 

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

 



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