View Single Post
Old 12-05-2008, 09:54   #11
thienthan
Rìu Sắt Đôi
 
thienthan's Avatar
 
Tham gia: Nov 2007
Bài: 280
VZD: 4.091
Điểm: 74/60 bài viết
Send a message via Yahoo to thienthan
Default

Trích:
so_0_lanh_lung View Post
Hỏi về xâu :
về xóa kí tự trắng ở đầu cuối và giữa...
tại sao ta không cho chạy từ 1 -- > length(st) nếu s[i] = #32 thì delete(st,i,1);
có nghĩa là nó chạy gặp kí tự trắng thì Xóa.....
mà phải dùng WHILE xóa đầu Xóa đuôi,,rồi POS để xóa giữa
Là vì khi del bạn đã thay đổi chuỗi đó rồi (làm nó ngắn đi). Vì vậy bạn phải dùng while nếu dùng for cũng được nhưng bạn cần phải hiểu về bản chất ngôn ngữ bạn viết thì mới sửa cho thích hợp được.
Code:
repeat
if s[i]=#32 then delete(s,i,1) else inc(i)
until i>length(s){Thông cảm chỗ này mình viết vội nên hơi nhầm}
Code:
for i=1 to length(s) do
if s[i]=#32 then
begin
delete(s,i,1)
dec(i)
end

thay đổi nội dung bởi: thienthan, 12-05-2008 lúc 19:29. Lý do: Viết nhầm
thienthan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Thành viên đã cám ơn bài viết này của thienthan:
so_0_lanh_lung (12-05-2008)