Ví dụ như user nhập: aaabbbaccb
thì sẽ output ra: 3a+3b+1a+2c+1b
Hỏi về cách đếm số lần lặp lại kí tự
Tạo một mảng ký tự rồi đếm thôi. Cái này có thể sử dụng cấu trúc hoặc hàm chuyển đổi cho việc xuất ra.
Ví dụ:
while(a[j]==a[i])
{
dem++;
}
1 Like
Bạn cho mình mấy dòng code được ko @@ mình có ý tưởng, nhưng không biết biểu diễn nó ra
bỏ dãy chữ user nhập vào 1 mảng ký tự, sau đó duyệt từng phần tử và so sánh, nếu phần tử 1 giống phần tử 2 thì tăng biến đếm lên, phần tử 2 giồng phần tử 3 thì tăng biến đếm lên.
cái đó là vòng for thứ nhất.
Mình không chắc vì chưa chạy thử
int i = 0;
while (a[i] != NULL)
{
int dem = 0;
int j = i;
while (a[i] == a[j])
{
dem++;
j++;
}
cout << dem << a[i] << " + ";
i = j;
}
4 Likes
Bài này đơn giản, lần sau đặt câu hỏi nhớ đưa ra giải pháp của mình trước + tag thêm và cho biết ngôn ngữ lập trình gì.
Dưới đây là code java:
3 Likes
Cám ơn bạn. Mình viết bằng Lua
This post was flagged by the community and is temporarily hidden.
Mình đang học Lua á bạn
- Tạo 1 mảng mới xong copy phần tử mảng cũ ra. tạo 1 biến đếm và gán bằng 0.
- Lấy kí tự đầu so sánh với các kí tự còn lại nếu giống nhau thì cho biến đếm tăng lên 1, nếu khác thì qua kí tự tiếp theo, sau khi xong thì lấy ra kí tự đầu và biến đếm.
- Tạo 1 mảng mới, mảng này sẽ chứa mảng cũ và không chứa các phần tử giống phần tử đầu ở mảng trên. Tạo biến đếm thứ 2 và gán bằng 0.
- Công việc cứ tiếp tục như vậy cho tới khi mảng không còn chứa phần tử nào thì dừng lại.
- Xuất ra các kí tự kèm theo biến đếm của chúng, (Mission complete!).
2 Likes
hehe cám ơn mấy bạn nha