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

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

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

> Строки и задачки с ними, запуталась, мож совет дадите
MapЫшKa
сообщение 17.01.2005 12:00
Сообщение #1


Новичок
*

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

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


И снова я, о, боги Паскаля. :molitva:
Сиду я тут и со своей женской логикой не могу врубиться в мужскую, а точнее в программистическую.

Дано: произвольная строка
Требуется:
1) проверить строку на наличие "{" и "}" символы заключенные между { и } удалить вместе со скобками
2) определить сколько различных русских букв содержит строка ( я ваще тут пас, говорят функция какая то есть специальная)
3) найти самое длинное слово в строке.

вот такая беда. Все бы было просто, вот тока вариантов строки моря, например:

vo sudu li v ogorode {v doline{na polane{v sadu?} ili za zana}ves}koj} hodat nes4astnie programmisti

сама придумала сама ее разобрать не могу, то ли надо удалять
{v doline{na polane{v sadu?} ili za zana}ves}koj}
или
{v doline{na polane{v sadu?} ili za zana}ves}
или
{v doline{na polane{v sadu?}

эх ну и назадают задачек....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
Altair
сообщение 18.01.2005 17:06
Сообщение #2


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

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

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


Цитата
введи например:
сказочка была хорошая
была хорошая сказочка
в первом случае он выдаст тебе сказочка
а во втором хорошая

оЙ!!!!!! глюк следующий: если самое последнее слово последнее, то она не учитывается.
а все из-за этого:
Код
while pos(r,s)<>0 do

простое решение пробелммы - примисать разделитель в конец строки, что бы не пришлось переделывать алгоритм.
вот так все работает:
Код
const
r=' '; {разделитель междду словами (пробел)}
var
s:string;
subs:string;
max:string;
i:byte;
begin
readln(s);
{удалим лишние разделители}
while s[1]=r do delete(s,1,1);
for i:=1 to ORD(s[0]) do if (s[i]=r) and (s[succ(i)]=r) then
begin
while s[succ(i)]=r do delete(s,succ(i),1)
end;
s:=s+r; {!!!!!!!!!!}
while pos(r,s)<>0 do
begin
subs:=copy(s,1,pos(r,s));
delete(s,1,pos(r,s));
If length(subs)>length(max) then max:=subs;
end;
writeln(max);
end.


да, есчтиь замечание по первой задаче...
вот пример строки:
fgfg{fgfghf{fgfgfg}dgffg}fgfg
здесь скорее всего надо удалить часть строки между первым { и последним } тогда для посика } надо использовать не POS (т.к. она ищет первое вхождение) а написать функцию для поиска последнего вхождения.
MapЫшKa, переделать? wub.gif :flowers:

Сообщение отредактировано: Oleg_Z - 18.01.2005 17:50


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

Сообщений в этой теме
MapЫшKa   Строки и задачки с ними   17.01.2005 12:00
Altair   да что бы мы без вас делали, о прекрасные дамы...   17.01.2005 12:08
volvo   MapЫшKa Можно еще воспользоваться поиском по фору...   17.01.2005 12:12
MapЫшKa   Oleg_Z спасибки тебе огромное, чмооок! но вот...   17.01.2005 12:43
MapЫшKa   volvo спасибки , вот тока алгоритм похож на тот к...   17.01.2005 12:50
Altair   MapЫшKa :wub: Pos('{',s) - вернет номер в ...   17.01.2005 14:29
Altair   Думаю вот красивое решение на Паскале... var ZR...   17.01.2005 14:56
MapЫшKa   Oleg_Z вот так бы и расцеловала а я тут сиду с ци...   17.01.2005 20:55
MapЫшKa   а ваще :molitva: :molitva: :molitva: Oleg_Z :f...   17.01.2005 20:56
volvo   MapЫшKa А можно я вместо Oleg_Z ? :D Смотри, что...   17.01.2005 21:13
MapЫшKa   Oleg_Z че то перемудрил с разнообразностью русски...   17.01.2005 21:22
MapЫшKa   volvo спасибо дорогой! и ето все паскаль... ж...   17.01.2005 21:25
MapЫшKa   и еще баг в подсчете длинного слова... жесть надо ...   17.01.2005 21:41
volvo   MapЫшKa Я не знаю, какую строку ты вводишь, но у ...   17.01.2005 21:50
MapЫшKa   введи например: сказочка была хорошая была хорошая...   17.01.2005 22:23
volvo   MapЫшKa Не принимается... Ты вводишь латинскими б...   17.01.2005 22:29
MapЫшKa   нет! =))) я ввожу русскими! попробуй сам. ...   17.01.2005 22:33
volvo   MapЫшKa Я понимаю, что алгоритм очень похож, но п...   17.01.2005 23:19
Altair   точно :) он знает, он знает :D нееет, я все п...   18.01.2005 15:05
Altair   оЙ!!!!!! глюк следующий: ...   18.01.2005 17:06
Altair   Кстати вот что я нашел у меня (старая лаба еще из ...   18.01.2005 23:21
Diger   Не стал создавать ещё одну тему. Результаты поиска...   31.01.2006 10:09
volvo   Не стал создавать ещё одну тему. Результаты поиска...   31.01.2006 10:16
Гость   Вот и приведи ссылку на то, что ты нашел, с описа...   31.01.2006 10:37
Diger   Может это был намёк, на то, что такая тема есть? :...   31.01.2006 10:44


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

 



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