Tần số xuất hiện phần tử trong mảng

Anh Đạt @ltd ơi, em dùng cái Dev-Cpp 5.11 mà sao em thử chạy cái chương trình tìm tần số xuất hiện của phần tử trong mảng thì nó cứ bảo là chương trình bị ngưng hoạt động em không bết nó có bị gì không ( Anh ơi giúp dùm em)!

#include<iostream>
#include<cstdint>
#include<array>
// em dùng đủ thứ thư viện mà nó vẫn cứ lỗi

using namespace std;

int main()
{
	int k;
	cout << " How much number you want to scan ?\n";
	cout << " It's : "; cin >> k;
	int scan[k];
	const int MAX = 10000000;
	int ts[MAX];
	for ( int i = 1; i<=k;i++)
	{
		cout <<" Enter number "<< i <<" : "; cin >> scan[i];
	}
	
	for ( int t = 0; t <= MAX; t++) ts[t] = 0;
	for ( int y = 1; y <= k; y++)
	{
		ts[scan[y]] ++;	
	}
	
	for ( int h = 1; h<=k;h++)
	{
		if ( ts[h] != 0)
		{
			cout <<" Number" << h <<" have frequency : "<<ts[h];
		}
	}

}

Mảng tĩnh chắc 2 triệu slot là cao. Cách này thật sự là không hay chút nào, dùng mảng co giãn thì tạm chấp nhận được.

C++ không có cái này :smiley: C thì có.

1 Like

@rogp10 e bt rồi anh ơi =)) em bị ngu tý. Tham nên đặt slot nhiều quá nên nó hk chạy được =)) cứ tưởng lỗi j =))) kkk

bài này hôm trước có 1 bạn hỏi anh rồng có gợi ý dùng duyệt cây rồi nhỉ …

bạn tham khảo code mình nhé

#include<iostream> 
#include<conio.h> 
using namespace std ; 
void nhapmang(int a[] , int n)  {  
	for ( int i =0 ; i < n ; i++) {
		cout << "a[" << i << "]= " ;  
		cin >> a[i] ; 
	} 
}
void xuatmang(int a[] ,int n) { 

for ( int i = 0 ; i < n ; i++ ) { 
cout << a[i] ; 
}
cout << "\n" ;
}
void xacxuat ( int a[] , int n , int b[] ) {
	for ( int i = 0 ; i < n ; i ++) {
		for ( int j = i ; j < n ; j++ ){
			if ( a[i]==a[j]) {
				b[i]++ ; 
			}
		}
	}
}
void tansuat ( int a[] , int b[] , int n ) {
	int max = 1 ; 
	for ( int i = 0 ; i < n ; i ++) {
		if (b[i] > max) {
		max = b[i] ; 
		}
		if ( b[i] == max) {
			cout <<"so co tan suat xuat hien nhieu nhat la : " << a[i] << "\n";  
			cout << " tan suat xuat hien la : " << b[i] << "\n" ;
	}

}
}
 
int main() {
	int n ; 
	int a[20] = {0};
	int b[20] = {0}; 
	cout << " nhap n vao : " ; 
	cin >> n ; 
	cout << " nhap mang vao : \n" ; 
	nhapmang(a,n) ;
	cout << " mang xuat ra la : \n " ;
	xuatmang(a,n) ; 
	cout << " xac xuat la : \n" ;  
	xacxuat(a,n,b) ; 
	tansuat(a,b,n) ; 
}

Quả là cao nhân có khác =)) hehehe

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