Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 11.11.2010, 14:29   #1 (permalink)
zena
Member
 
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
По умолчанию Строки в паскаль

Решите пожалуста задачу на паскаль. Сама по себе лёгкая но я не могу понять как доделать её!!!

Задача:
Дана строка символов. Исключить из этой строки группы символов, расположенные между скобками []. Сами скобки тоже должны быть исключены. Предполагается , что внутри скобок нет других скобок.

У меня получилось удалить тока скобки, но вот то что внутри скобок удалить не получается!!!
Program hfhf;
var k,s:string;
n:byte;
begin
readln(s);
n:=pos('[]',s);
While n <> 0 do
begin
Delete (s,n,3);
n:=pos('[]',s);
end;
Writeln(s);
end.
zena вне форума   Ответить с цитированием

Старый 11.11.2010, 14:29
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

У нас есть темы которые похожи на вашу

Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Паскаль, символы и строки
Паскаль, строки
Строки в С
Строки
Задача на строки, Паскаль

Старый 11.11.2010, 14:48   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от zena Посмотреть сообщение
Решите пожалуста задачу на паскаль. Сама по себе лёгкая но я не могу понять как доделать её!!!

Задача:
Дана строка символов. Исключить из этой строки группы символов, расположенные между скобками []. Сами скобки тоже должны быть исключены. Предполагается , что внутри скобок нет других скобок.

У меня получилось удалить тока скобки, но вот то что внутри скобок удалить не получается!!!
Я бы это сделал так:
Код:
Program hfhf;
var
 S:string;
 p1, p2, n:byte;
begin
 WriteLn('Enter the string:');
 ReadLn(S);
 p1:=pos('[',S);
 p2:=pos(']',S);
 n:=p2-p1+1;
 Delete (S,p1,n);
 WriteLn(S);
 ReadLn;
end.
Это если группа символов в квадратных скобках заведомо одна. Ну а если их может быть несколько, то так:
Код:
Program hfhf;
var
 S:string;
 p1, p2, n:byte;
begin
 WriteLn('Enter the string:');
 ReadLn(S);
 Repeat
  p1:=pos('[',S);
  p2:=pos(']',S);
  n:=p2-p1+1;
  Delete (S,p1,n);
 Until p1=0;
 WriteLn(S);
 ReadLn;
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 11.11.2010, 20:10   #3 (permalink)
zena
Member
 
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
По умолчанию

То что нужно!!! спасибо большое!!! А решение было совсем рядом
zena вне форума   Ответить с цитированием
Старый 11.11.2010, 21:56   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от zena Посмотреть сообщение
То что нужно!!! спасибо большое!!! А решение было совсем рядом
Да не за что. Обращайтесь, если что...
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 04:26.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.