30/09/2018, 16:15

Đế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…

Đỗ Trung Quân viết 18:31 ngày 30/09/2018

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.

Nguyễn Minh Dũng viết 18:18 ngày 30/09/2018

Mình muốn đếm tất cả ký tự trong 1 mảng thì ý tưởng thế nào ạ?

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?

Hồ Thế Chín viết 18:16 ngày 30/09/2018

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 ?

Nguyễn Minh Dũng viết 18:16 ngày 30/09/2018

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.

viết 18:27 ngày 30/09/2018

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…

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;
}
Bài liên quan
0