program pr;
uses crt;
var
i,k,c,g,a,b:integer;
s,st:string;
procedure stringi(s:string; var st:string);
begin
i:=0;
for i:=a to b-2 do
begin
delete(s,a+1,1);
writeln('str:',s);
end;
end;
begin
clrscr;
writeln('vvedite str: '); read(s);
for i:=1 to length(s) do
begin
stringi(s,st);
break;
end;
end.
У тебя
procedure stringi(s:string; var st:string);
begin
i:=0;
for i:=a to b-2 do // где ты описываешь переменные a, b, i в локальных переменных их
begin //нет и через параметры ты их не передаешь
delete(s,a+1,1);
writeln('str:',s);
end;
end;
procedure stringi(s:string; var st:string);
begin
i:=0;
for i:=a to b-2 do // где ты описываешь переменные a, b, i в локальных переменных их
begin //нет и через параметры ты их не передаешь
delete(s,a+1,1);
writeln('str:',s);
end;
end;
Если скобки не пересекаются - то вот так:
var
i, p: integer;
start: integer;
s: string;
begin
s:= '((dkhdkjh)k(d)gf) (dlkjgff(fsad(ff) (ff))flsdkfj)';
start := 0;
i := 1;
while i <= length(s) do begin
if s[i] = '(' then start := i
else if (start > 0) and (s[i] = ')') then begin
delete(s, start + 1, i - start - 1);
i := start + 1;
start := 0;
writeln(s);
while (i < length(s)) and (s[i] <> '(') do inc(i);
dec(i);
end;
inc(i);
end;
end.
var
i, p: integer;
start: integer;
s: string;
begin
s:= '((dkhdkjh)k(d)gf) (dlkjgff(fsad(ff) (ff))flsdkfj)';
start := 0;
i := 1;
while i <= length(s) do begin
if s[i] = '(' then start := i
else if (start > 0) and (s[i] = ')') then begin
delete(s, start + 1, i - start - 1);
i := start + 1;
start := 0;
writeln(s);
while (i < length(s)) and (s[i] <> '(') do inc(i);
dec(i);
end;
inc(i);
end;
end.
volvo еще тебе большое спасибо за твой сайт я просто для пятнашек меню делал и там все понял