Все цифровые символы строки поставить в начало строки, переставив их в обратном порядке — Pascal(Паскаль)

uses crt;
var s:string;
    i,j,k,p:byte;
    x:char;
begin
clrscr;
writeln('Stroka:');
readln(s);
k:=0;
for i:=1 to length(s) do
if s[i] in ['0'..'9'] then k:=k+1;{считаем сколько цифр, чтоб не ходить по кругу}
for p:=1 to k do{цикл по количеству цифр}
for i:=length(s) downto p do{идем с конца строки}
if s[i] in ['0'..'9'] then{если цифра}
 begin
  x:=s[i];{запоминаем}
  for j:=i downto p+1 do{сдвигаем к ней начло массива с номера р}
  s[j]:=s[j-1];{на 1}
  s[p]:=x;{вставляем цифру}
  break;{выходим из цикла}
 end;
writeln('Перестановка:');
write(s);
readln
end.

Leave a Comment

26 + = 27