Помощь - Поиск - Пользователи - Календарь
Полная версия: строки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
*оля*
помогите пожалуйста разобраться:

 
...
c:=[ ':', '(', '=', ')']; //нужно поставить пробел до и после этих знаков, если они встретились в строке
...
s:='';
while not eof(g) do begin
readln(g,line);
a:=line;
for i:= 1 to length(a) do begin
if a[i] in c then
s:= (copy(a,1,i-1)+' '+copy(a,i,1)+' '+ copy(a,i+1,length(a)-i)); //что-то здесь наверное не то
end;
writeln(f,s);
end;


.
Client
insert(' ', a, i+1);
insert(' ', a, i);
И когда при работе со строкой ее длина меняется, то используй цикл while/repeat
volvo
Не надо извращаться там, где оно не нужно... Все проще:

   readln(g,line);
a := '';
for i:= 1 to length(line) do
begin
if line[ i ] in c then a := a + ' ' + line[ i ] + ' '
else a := a + line[ i ]
end;
writeln(f, a);

*оля*
мда, все действительно гораздо проще smile.gif
Вы как всегда правы, спасибо!)))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.