Mọi người cho em hỏi, ở dòng code mà em đã khoanh, khi em viết while ord(st[i])>32 thì chương trình dạy bình thường,ra kết quả đúng. Nhưng khi em viết while ord(st[i])<>32 thì chương trình báo lỗi Exitcode=201. Em tra google thì có bảo exitcode=201 là range check error(lỗi tràn bộ nhớ). Nhưng trong trường hợp này em không hiểu vì sao lại bị exitcode 201.
Mong mọi người giúp em :3
var
st,tam:string;
i,j,d:word;
a:array[1..50] of string;
f1,f2:text;
{------------------------------------------------}
procedure nhap;
begin
assign(f1,'bai4.inp');reset(f1);
assign(f2,'bai4.out');rewrite(f2);
read(f1,st);
end;
{----------------------------------------------}
function ktdk:boolean;
begin
if length(st)<=255 then ktdk:=true else ktdk:=false;
end;
{-----------------------------------------------}
procedure xuly;
begin
i:=1;d:=0;
while i<=length(st) do
begin
tam:='';
while ord(st[i])>32 do
begin
tam:=tam+st[i];
inc(i);
end;
inc(d); a[d]:=tam;
inc(i);
end;
for i:=d downto 1 do write(f2,a[i],' ');
end;
{---------------------------------------------}
BEGIN
nhap;
if ktdk=true then xuly else writeln(f2,-1);
close(f1);close(f2);
END.
Code đây ạ