Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Строки в паскаль (http://www.tehnari.ru/f43/t41895/)

zena 11.11.2010 14:29

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

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

У меня получилось удалить тока скобки, но вот то что внутри скобок удалить не получается!!!
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.

Vladimir_S 11.11.2010 14:48

Цитата:

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

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

У меня получилось удалить тока скобки, но вот то что внутри скобок удалить не получается!!!

Я бы это сделал так:
Код:

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.


zena 11.11.2010 20:10

То что нужно!!! спасибо большое!!! А решение было совсем рядом:)

Vladimir_S 11.11.2010 21:56

Цитата:

Сообщение от zena (Сообщение 416683)
То что нужно!!! спасибо большое!!! А решение было совсем рядом:)

Да не за что. Обращайтесь, если что...


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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.