của bạn đây
Code:
uses crt;
var s:string;
i,j:byte;
function find(i:byte):byte;
begin
while i<=length(s) do
begin
if ord(s[i])>57 then
begin
find:=i; exit;
end;
i:=i+1;
end;
find:=0;
end;
procedure swap(i,j:byte);
var t:char;
begin
t:=s[i]; s[i]:=s[j]; s[j]:=t;
writeln(i,'<-->',j);
end;
begin
clrscr; write('Nhap chuoi : '); readln(s);
i:=1;
while i<length(s) do
begin
j:=find(i);
if (ord(s[i])<=57) and (ord(s[i])>=48) and (j<>0) then
begin
swap(i,pos(' ',s)); swap(i,j);
end;
if s[i]=' ' then
begin
if j<>0 then swap(i,j) else swap(i,i+1);
end;
i:=i+1;
end;
readln;
end.
Bookmarks