Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2012, 19:27   #1
pygowka
 
Регистрация: 01.06.2012
Сообщений: 5
По умолчанию Обработка строк(паскаль)

ребят помогите переделать задачу!сижу голову ломаю
условие которое надо
Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина L <10, то выделяется подстрока в ( ) скобках.


не могу никак выделить подстроку в скобках
то что есть :
(извините не знаю как правильно вставить)
Код:
program ff;
uses crt;
var m: set of char; s: string; i,k: byte;
begin
m:=['[',']','{','}','(',')'];
clrscr;
writeln('введите строку: ');
readln(s);
if length(s)>10 then
begin
for i:=1 to length(s) do
if s[i] in m then inc(k);
writeln('кол-во скобок = ',k);
end
else
writeln('кол-во символов <= 10');
end.

Последний раз редактировалось Stilet; 01.06.2012 в 19:45.
pygowka вне форума Ответить с цитированием
Старый 01.06.2012, 20:01   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Подстрока между 1 и последней скобкой?

n - длина строки

Код:
for i := 1 to n do
*поиск открывающей скобки (i1), нашел - сохранение позиции (т.е. i), break*
for i := n downto 1 do
*поиск закрывающей скобки (i2), нашел - сохранение позиции (т.е. i), break*
проверка на то, что закрывающая скобка после открывающей, если да, то
for i:= i1 to i2 do
write(s[i])
writlen
Все это естественно при прохождении строкой проверки на длину.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 01.06.2012, 20:20   #3
pygowka
 
Регистрация: 01.06.2012
Сообщений: 5
По умолчанию

да подстрока между первой и второй скобкой
pygowka вне форума Ответить с цитированием
Старый 01.06.2012, 20:32   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Ну значит ищите сначала открывающую скобку, после - ищите закрывающую

Т.е. как-то так ищутся позиции открывающей и закрывающей скобок:
Код:
if (s[i] = '(')) then
begin
find_open := true;
pos_open := i;
end;
if (find_open and s[i] = ')') then
begin
pos_end := i;
break;
end;
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка строк (Паскаль) KillJoy Помощь студентам 0 11.06.2011 17:37
Паскаль.Обработка строк qwertyuiop12 Фриланс 5 10.06.2010 03:21
Обработка строк посматрите паскаль zizu Помощь студентам 6 29.04.2010 16:58
Паскаль.Обработка строк. Dina44 Помощь студентам 2 06.12.2009 21:31
Паскаль,обработка строк Dina44 Помощь студентам 1 06.12.2009 00:30