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

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

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

 
 Ответить  Открыть новую тему 
> Строки, слабо решить?
starmaster
сообщение 6.11.2004 15:03
Сообщение #1





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

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


На первый взгляд кажется лёгкой, но если заглянуть поглубже...

Дана строка. Удалить из нее последовательности символов, расположенные между скобками. Скобки также удалить. После первой открывающей скобки другие открывающие скобки игнорируются. Если скобка не закрывается до конца строки, то удалять все до конца строки. Закрывающая скобка без парной открывающей игнорируется.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 6.11.2004 15:56
Сообщение #2


Гость






:no: Не слабо ...

Цитата
На первый взгляд кажется лёгкой, но если заглянуть поглубже...


... то она просто элементарная !!!


Код

const
 s: string = 'this is a test of (very) simple) (program';

var first, second: byte;
begin
 repeat
   first := pos( '(', s );
   if first > 0 then
     begin
       second := pos(')', copy(s, first+1, length(s) - first)) + first;
       if second = first then second := length(s);
       if second > first then
         delete(s, first, second - first + 1);
     end;
 until first = 0;
 writeln( 's = ', s );
end.


:D

Сообщение отредактировано: volvo - 6.11.2004 16:25
 К началу страницы 
+ Ответить 
starmaster
сообщение 6.11.2004 16:13
Сообщение #3





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

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


volvo
Ну и неправильно...

Пример
Вход:
ab(hj)bh(jk(jju(jk)in

Выход:

abbhin

Вот из-за таких мелочных вещей и происходят проблемы в больших проектах...

Сообщение отредактировано: starmaster - 6.11.2004 16:26
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 6.11.2004 16:26
Сообщение #4


Гость






Цитата
Ну и неправильно...


А тебе голова на что? Трудно было единичку добавить? angry.gif

Кстати, пример входа и выхода мог бы дать сразу ...

Сообщение отредактировано: volvo - 6.11.2004 16:29
 К началу страницы 
+ Ответить 
starmaster
сообщение 6.11.2004 20:59
Сообщение #5





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

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


volvo
Неправильно говорит GNU Pascal на сайте и знаешь почему? Да потому что, подставь, допустим ab(a(aaa)b)bbb) получаем: abb)bbb) не сходится по условию...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
starmaster
сообщение 6.11.2004 21:14
Сообщение #6





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

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


Кстати, вот ссылка на задачу:
http://progr.tsi.lv/cgi-bin/tester/task.pl?task=5019
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 6.11.2004 21:14
Сообщение #7


Гость






starmaster

Извини меня, конечно, но учись формулировать условие:

Цитата
После первой открывающей скобки другие открывающие скобки игнорируются.


ab(a(aaa[b])b)bbb)

Что ты хотел получить?
Про вложенность нигде ничего сказано не было ...

Сообщение отредактировано: volvo - 6.11.2004 21:59
 К началу страницы 
+ Ответить 

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

 



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