Đề: 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;
}
phải là INT_MAX và INT_MIN tương ứng. Trừ một số trường hợp (do chưa nhập nên gán ko được) thì cứ gán bằng phần tử đầu chắc ăn.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?