Модератор: Модераторы


Снег Север писал(а): Потом пройтись в цикле по этому массиву и сравнивать первый и последний символ каждого строкового элемента.

iskander писал(а):Поколение Z избегает циклов,

Sonora писал(а):В текстовом файле хранятся строки, состоящие из слов, разделенных одним или несколькими пробелами. Удалить в текущей строке те слова, которые начинаются и заканчиваются на одну и ту же букву, и записать преобразованные строки в новый файл.
function removeWords(inp: string): string;
var
  s: string;
  sb : string;
  ln : longint;
  i,j : longint;
begin
  s := '';
  j := 1;
  for i:=1 to length(inp) do 
  begin
    if inp[i] = ' ' then begin
      sb := Copy(inp, j, i-j);
      ln := length(sb);
      if (sb<>'') and (sb[1]<>sb[ln]) then
       s:=s+sb;
      s:=s+' ';
      j := i+1;
    end;
  end;
  i:=length(inp)+1;
  sb := Copy(inp, j, i-j);
  ln := length(sb);
  if (sb<>'') and (sb[1]<>sb[ln]) then
    s:=s+sb;
  removeWords := s;
end;
var
  f, fout: text;
  s: string;
begin
  assign(f, 'input.txt'); 
  assign(fout, 'output.txt'); 
  reset(f);
  rewrite(fout);
  while not eof(f) do begin
    readln(f, s);
    s := removeWords(s);
    writeln(fout, s);
  end;
  close(f);
  close(fout);
end.
любая буква - это символ
 
 RRYTY писал(а):Но, на практике, будет работать и при анализе первого/последнего байта, т.е. - символа.



Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1