Code tìm số hoàn hảo và sử dụng con trỏ không chạy được

Mình có viết hàm tìm số hoàn hảo và sử dụng con trỏ để lưu các ước sau đó tính tổng nhưng vẫn chưa chạy được.Mong mng giúp đỡ, mình mới học về lập trình nên còn bỡ ngỡ. Thanks!!

void shh(int &n) {
	
	int sum = 0;
	int i, j;
	int *Uoc;
	int dem = 0;
	int *p;

	for (i = 1; i < n; i++) {
		if (n % i  == 0) dem++;
		}							

	Uoc = new int[dem];			
	dem = 0;
	for (i = 1, j = 0; i < n; i++, j++) {
		if (n % i == 0) {
			Uoc[j] = i;
			dem++;
		}
	}
	for (j = 0; j < dem; j++) {
		cout << Uoc[j];
	}
	for (i = 0; i < dem; i++) {
		sum = sum + Uoc[i];
	}
		
	cout <<" Sum = " << sum << endl;
	if (sum == n) {
		cout << n << " is perfect number." << endl;
	}
	else cout << n << " is not perfect number." << endl;
	delete Uoc;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?