Tin học Lập trình xâu kí tự

S

socratedk

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

câu hỏi của mình có tại đây:
giúp mình làm các bài tập này với, mình phải nộp gấp trong khi phải ôn thi học kì
1. Viết chương trình nhập từ bàn phím xâu kí tự S có độ dài không quá 100. Hãy cho biết có bao nhiêu chữ cái “a” xuất hiện trong xâu S. Thông báo kết quả ra màn hình. Ví dụ: xâu S : “ anh trang sang” → kết quả 3 chữ cái “a”.
2. Lập trình nhập xâu bất kì từ bàn phím. Hãy chuẩn hóa xâu theo quy tắc sau:
a) Xóa các dấu cách ở đầu câu, cuối câu nếu có.
b) Thay dãy nhiều dâu cách liên tiếp bằng một dâu cách.
Đưa kết quả xâu đã chuẩn hóa ra màn hình.
3. Xâu không chứa các kí tự phân cách “.” (dấu chấm), “,” (dấu phẩy). “ “(dấu cách) được gọi là một từ. Câu là một xâu bao gồm một hoặc nhiều từ, nếu xâu có nhiều từ thì các từ dc phân cách nhau bởi một hay nhiều kí tự phân cách. Viết chương trình tính số lượng từ trong câu.
Ví dụ: ‘ co anh ban xa nha, co co ban nho cha’ → câu có 10 từ.
4. Viết chương trình nhập từ bàn phím xâu kí tự S có độ dài không quá 100. Hãy đếm số lần xuất hiện mỗi chữ cái khác nhau trong sâu S. Thông báo kết quả ra màn hình.
Ví dụ: xâu S : ‘hoc sinh lop 11a1’ → kết quả:
A:1, c:1, h:2, i:1, 1:1, …………………………………………�� �…….. v..v
5. Viết chương trình nhập từ bàn phím xâu kí tự S có độ dài không quá 100. Thay thế tất cả cụm kí tự ‘anh’ bằng kí tự ‘em’. Thông báo kết quả ra màn hình.
Ví dụ: xâu S: ‘anh di anh nho que nha’ → kết quả: ‘ em di em nho que nha’.

mình hứa sẽ thank đang hoàng
 
S

star.love

Bài 3 dựa vào mã ASCII hoặc có thể dựa ngay vào kí tự trong xâu S và dùng đánh dấu các kí tự đã được chọn ( cách đó là đệ qui )
Bài thì xét : if a:=' ' và các a[...]= anh và a[i+4]=' ' sau đó dùng dùng lệnh xóa and ghi trong xâu là ok.
(~~)(~~)(~~)(~~)(~~) (~~)(~~)(~~)(~~)(~~) (~~)(~~)(~~)(~~)(~~) (~~)(~~)(~~)(~~) (~~)(~~)(~~)(~~) (~~)(~~)(~~)(~~)(~~) (~~)(~~)(~~)(~~) (~~)(~~)(~~)(~~) (~~)(~~)(~~) (~~)(~~)(~~) (~~)(~~)(~~)(~~)
 
O

ochuotqb

Mai mình kiểm tra rồi nên có thể làm cho bạn thuật giải thôi
Bài 2:
PHP:
 while st[1]=#32 do delete(st,1,1);
 while st[length(st)]=#32 do delete(st,length(st),1);
 while pos(#32#32,st)<>0 do delete(st,pos(#32#32,st);
Bài 3:
PHP:
st:=st+#32;
   while pos(#32,st)<>0 do
       begin
          m:=m+1;
          delete(st,pos(#32,st),1);
        end;
  write('Xau co ',m,' tu');
Bài 4:
PHP:
while length(st)<>0 do
       begin
          s:=0;
          m:=st[1];
         while pos(m,st)<>0 do
           begin
             s:=s+1;
             delete(st,pos(m,st),1);
           end;
       if m in ['a'..'z','A'..'Z','0'..'9'] then
         write(m,':',s,' ');
     end;
Bài 5:
PHP:
var st:string;
    m:char; s,i:byte;
    begin
       write('Nhap xau: ');
       readln(st);
    while pos('anh',st)<>0 do
       begin
        insert('em',st,pos('anh',st));
        delete(st,pos('anh',st),3);
       end;
 write(st);
 readln
end.
 
A

angiang1493

Mã:
while st[1]=#32 do delete(st,1,1);
 while st[length(st)]=#32 do delete(st,length(st),1);
 while pos(#32#32,st)<>0 do delete(st,pos(#32#32,st);
Starlove : Bạn chú ý để code vào thẻ
Mã:
 [CODE] [CODE]
bạn ơi cái Đoạn #32 là gì thế nhỉ.
 
Last edited by a moderator:
P

p_trk

Starlove giúp bạn nha :
mỗi một kí tự có một mã riêng và #32 là mã của kí tự trắng ( dấu cách )
 
A

angiang1493

Mình cảm ơn. Mình lại hỏi lần nữa nhá. Thế #32 bỏ đi có được không. Hay nó chỉ để kết quả hiện ra đẹp hơn thui
 
Top Bottom