Đề: Nhập vào mảng các số nguyên. Cho biết các phần tử nào xuất hiện nhiều nhất mảng và xuất hiện ít nhất mảng. Sử dụng con trỏ.
Code em tìm được giá trị xuất hịên nhiều nhất. Giá trị xuất hiện ít nhất vẫn chưa tìm được. Anh chị giúp em với.
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
void NhapMang (int n, int a[])
{
int *pa;
for (pa = a; pa < a + n; pa++)
{
printf ("A[%d] = ", pa - a);
scanf ("%d", pa);
}
}
void XuLi (int n, int a[])
{
int *pi, *pj;
int *dem = (int *)calloc (n, sizeof(int));
for (pi = a; pi < a + n; pi++)
{
int demt = 1;
for (pj = pi + 1; pj < a + n; pj++)
{
if (*pi == *pj)
demt++;
dem[pi - a] = demt;
}
}
int max = 0, min = 0, vt_max = 0, vt_min = 0;
for (pi = dem; pi < dem + n; pi++)
{
if (*pi > max)
{
max = *pi;
vt_max = pi - dem;
}
else if (*pi < min)
{
min = *pi;
vt_min = pi - dem;
}
}
//--------------------------
printf ("Phan tu %d xuat hien nhieu nhat trong mang %d lan", *(a + vt_max), max);
printf ("\nPhan tu %d xuat hien it nhat trong mang %d lan", *(a + vt_min), min);
}
int main()
{
int n;
printf ("Nhap n: ");
scanf ("%d", &n);
int a[n];
NhapMang (n, a);
XuLi (n, a);
getch ();
return 0;
}