Đếm số lượng tất cả ký tự trong 1 mảng ký tự?

Mình muốn đếm tất cả ký tự trong 1 mảng thì ý tưởng thế nào ạ?
không lẽ lại đếm xem có bao nhiêu a xong lưu vào 1 biến,xong đến b,c,d…

1 Like

Tạo 1 biến đếm, chạy vòng lặp. Mỗi lần gặp ký tự thì biến đếm tăng 1 đơn vị. Output biến đếm.

Có nghĩa là đếm bao nhiêu ký tự a, bao nhiêu ký tự b?

Xem thử phải giống như bài này không?

Thực ra thì mình đang làm 1 chương trình nén và giải nén file bằng mã huffman,có quá nhiều thắc mắc,lên đây hỏi dần dần.và đang mắc chỗ này,bạn có thể giải thích chút được không ?

1 Like

Nếu là nén file huffman thì hình như có cả cách đếm số lượng các ký tự luôn mà? Theo như link mình tìm được ở Wikipedia thì giải thuật nén như sau:

Cái này học 5-6 rồi không nhớ gì nhiều. Đá topic lên chờ mọi người vào thảo luân.

Không biết có phải cách này không :running:

#include <iostream>
#include <string.h>
using namespace std;

void output(const char* s)	{
	
	int temp[256] = {0};
	
	for(int i = 0; i < strlen(s); i++)
		temp[s[i]]++;
		
	for(int i = 0; i < 256; i++)	{
		
		if(temp[i] > 0)	{
			
			cout << "Ki tu " << char(i) << "\tSo luong: " << temp[i];
			cout << endl;
		}
	}
}

int main() {
	
	char* s = "What the hell is that?";
	
	output(s);
	
	return 0;
}
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?