В строке jhg23v18jY1 не трогая буквы, переставить цифры в обратном порядке. Должно получиться так: jhg18v13jY2 — Pascal(Паскаль)

procedure ReverseDigits(var s: String);
const
  digits = ['0' .. '9'];
var
  c: Char;
  p1, p2: Integer;
begin
  p1 := 1;
  p2 := Length(s);
  while p1 < p2 do
  begin
    while (p1 < p2) and not (s[p1] in digits) do
      inc(p1);
    while (p1 < p2) and not (s[p2] in digits) do
      dec(p2);
    if p1 < p2 then
    begin
      c := s[p1];
      s[p1] := s[p2];
      s[p2] := c;
      inc(p1);
      dec(p2);
    end;
  end;
end;
var
s:string;
begin
 readln(s);
 ReverseDigits(s);
 writeln(s);
end.

Leave a Comment

4 + 1 =