Cần giúp đỡ chuyển số thành chữ

Xin chào các bạn, mình có 1 bài tập viết chương trình RLE decoding.

Ví dụ khi nhập vào:

"da3y nhau hoc!5" ta sẽ đc "daaay nhau hoc!!!!!" 

"day nhau 15hoc!" ta sẽ đc "day nhau               hoc!"

"d1ay0 nh4au h4-3oc0!" ta sẽ đc "da nhhhhau hhhh---o!"

Mình nghĩ là load tất cả vào 1 chuỗi. Dùng isdigit để tìm đc số. Nhưng khi tìm đc số rồi thì mình ko biết nên dùng cách gì để báo là chữ số đó là đại diện cho số lần in ra kí tự trước nó.

Mình mới học đc 1 thời gian ngắn. Bạn nào chỉ hộ mình cách đơn giản để làm đc bài này ko?
Mình cảm ơn nhé

1 Like

nếu là qui tắc của bạn đặt ra thì dùng switch case .

Đề này hay đấy

Em đi đúng hướng rồi, em dùng thêm một mảng phụ nữa đi, ví dụ em làm cái câu

"da3y nhau hoc!5" ta sẽ đc "daaay nhau hoc!!!!!" 

Khi duyệt đến d, em copy d vào mảng phụ
Khi duyệt đến a, em copy a vào mảng phụ
Khi duyệt đến 3, em copy thêm 2 a nữa vào mảng phụ

1 Like

e cũng nghĩ y như v… mà nhiều khi nghĩ được ý tưởng mà code hoài không ra. e bị TH này nhiều rồi :))))

1 Like

Code thử đi rồi hỏi về cái “hoài không ra”, có khi người ngoài nhìn vào sẽ thấy vấn đề.

1 Like

T nghĩ là duyệt từng kí tự của sâu, và xét kí tự thứ i + 1 .
Nếu i + 1 là số n thì copy kí tự thứ i, n lần không thì copy 1 lần .

1 Like

Có bài tập theo chiều ngược. Mọi người giải coi

1 Like

Bài này thuộc dạng nén đúng không :smile:Hồi trước đi học có học cái này, lúc năm 2 học chả hiểu khỉ gì, giờ thấy chữ RLE còn sợ :scream_cat:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?