Computer >> Máy Tính >  >> Lập trình >> lập trình C

Viết tắt chữ và số của một chuỗi trong chương trình C?


Ở đây chúng ta sẽ thấy một vấn đề thú vị liên quan đến cách viết tắt chữ và số của một chuỗi nhất định. Độ dài chuỗi nhỏ hơn 10. Chúng tôi sẽ in tất cả các chữ viết tắt bằng chữ và số.

Chữ viết tắt của chữ và số có dạng ký tự trộn lẫn với các chữ số. Giá trị của chữ số đó là số ký tự bị bỏ sót. Có thể có bất kỳ số chuỗi con nào bị bỏ qua. Không có hai chuỗi con nào liền kề nhau. Hãy để chúng tôi xem thuật toán để có được ý tưởng.

Thuật toán

printAbbrelation (s, index, max, str) -

 begin nếu chỉ mục giống với max, sau đó in str end nếu thêm s [index] vào cuối str printAbbrehold (s, index + 1, max, str) xóa ký tự cuối cùng khỏi str count:=1 nếu str là không trống, sau đó nếu ký tự cuối cùng của str là một chữ số, sau đó thêm chữ số cuối cùng với giá trị đếm sẽ xóa ký tự cuối cùng khỏi str end nếu end nếu thêm số sau str printAbbreveation (s, index + 1, max, str) end 

Ví dụ

 #include  using namespace std; void printAbbreashing (const string &s, int index, int max_index, string str) {if (index ==max_index) {// nếu chuỗi đã kết thúc cout < 

Đầu ra

 HELLOHELL1HEL1OHEL2HE1LOHE1L1HE2OHE3H1LLOH1LL1H1L1OH1L2H2LOH2L1H3OH41ELLO1ELL11EL1O1EL21E1LO1E1L11E2O1E32LLO2LL12L1O2L23LO3L