uses crt;
var s,t:string; d:text; i,n,min,max,a,e:longint;
begin
clrscr;
assign(d,'input.pas');reset(d);
readln(d,s);
close(d);
assign(d,'output.pas');rewrite(d);
for i:=1 to length(s) do if s[i]='0' then delete(s,i,1);
n:=length(s); min:=high(longint);
for i:=1 to n do
begin
if s[i]<='9' then t:=t+s[i];
if ((i-1>0)and(s[i-1]<='9')and(s[i]>'9'))or((i=n)and(s[i]<='9'))then
begin
val(t,a,e);
If a>max then max:=a;
if a<min then min:=a;
t:='';
end;
end;
writeln(d,min);
writeln(d,max);
close(d);
end.
//////
Giải thích
B1: Loại bỏ các số 0
B2: Trích số từ xâu
-Nếu s[i] là số thì đưa vào biến t
-nếu
(s[i] là chữ và trước đó là số) để biết đây là kết thúc của một số ngyên
hoặc(i đang ở cuối xâu vài s[i] là số)Không thỏa mản điều kiện trên thì chỉ có ở cuối xâu
nó là kết thúc của một số nguyên nhưng không có dấu hiệu cho biết như trên
thì tìm max,min.
Nếu có gì không hiểu hay code không hợp lí thì các bạn để lạ bình luận nha!!! :D
Đây là một số text: