Tách chuỗi cũng là bài toán thường gặp và trong hầu hết các ngôn ngữ lập trình đều hỗ trợ sẵn yêu cầu này. Tuy nhiên, trong bài này tôi vẫn muốn trình bày lại để bạn có trải nghiệm thêm.
Yêu cầu
Viết chương trình khởi tạo một chuỗi, sau đó nhập vào một ký tự ngăn cách, sau đó dựa vào ký tự đó để tách chuỗi đó ra thành các chuỗi con và in các chuỗi con ra.
Ví dụ: Nguyen Van An, ký tự phân cách là dấu ‘ ’
Kết quả:
Nguyen
Van
An
Phân tích và tìm cách giải
- Đầu vào: s={Nguyen Van An}, Ký tư phân cách ‘ ’
- Đầu ra: In ra các dòng:
Nguyen
Van
An
Phân tích
– Cần duyệt qua tất cả các ký tự của chuỗi S
Kiểm tra nếu ký tự bằng ký tự ngăn cách
+ In chuỗi con ra
+ Xóa chuỗi con để nạp lại từ đầu
Nếu không
+Thêm ký tự vào chuỗi con
Cách biểu diễn thuật toán
Trong trường hợp này, tôi sử dụng ngôn ngữ giả.
Declare String s={Nguyen Van An}, sc=’’
Char c=’ ’
Int i
Loop i from 0 to s.length -1
If s[i]=c
Print sc
sc=’’
Else
sc=sc+s[i]
Đến đây thì chuỗi đã được tách.