Помощь - Поиск - Пользователи - Календарь
Полная версия: строки
Форум «Всё о Паскале» > 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
Вы как всегда правы, спасибо!)))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.