Даны символы S1, S2… Известно, что символ S1 отличен от пробела, и что среди S2, S3 … имеется хотя бы один пробел. Рассматриваются S1,… , Sn-символы, предшествующие первому пробелу(n заранее неизвестно). Преобразовать последовательность S1,… , Sn, удалив из каждой группы идущих подряд цифр, в которой более двух цифр, и которой предшествует точка. Все цифры, начиная с третьей (например, А*В+0.1973-1.1 преобразуется в А*В+0.19-1.1) — Pascal(Паскаль)

var
  S, S1: string;
  n, i: integer;

begin
  readln(S);
  n := pos(' ', S);
  if n > 0 then
    S := copy(S, 1, n - 1);
  S1 := '';
  repeat
    n := pos('.', S);
    if n = 0 then
      break;
    i := n + 1;
    while S[i] in ['0' .. '9'] do
      i := i + 1;
    i := i - n - 1;
    if i > 2 then
      delete(S, n + 3, i - 2);
    S1 := S1 + copy(S, 1, n + 3);
    delete(S, 1, n + 3);
  until false;
  S1 := S1 + S;
  writeln(S1);
  readln;

end.

Leave a Comment

29 + = 32