Yêu cầu đặt ra là ta cần tìm phần tử có số lần xuất hiện nhiều nhất trong mảng 1 chiều.
Ví dụ ta có mảng a[8]={2,3,1,4,5,2,6,2};
Thì phần tử 2 xuất hiện 3 lần nên là nhiều nhất
Chương trình tìm phần tử xuất hiện nhiều lần nhất trong mảng C /C+
#include "conio.h"
#include "stdio.h"
#define max 100
//nhap mang
void NhapMang(int A[], int n) {
for(int i = 0; i<n; i++)
{
printf("phan tu %d = ",i);
scanf("%d",&A[i]);
}
}
//xuat mang
void XuatMang(int A[], int n) {
for(int i = 0; i<n; i++)
printf("%d\t",A[i]);
}
//dem so lan xuat hien cua x trong A
int Countx(int A[], int n, int x){
int temp = 0;
for(int i = 0; i<n; i++)
if(A[i]==x)
temp++;
return temp;
}
//tim phan tu xuat hien nhat lan nhat trong A
int Count(int A[], int n) {
int temp1, temp = Countx(A,n,A[0]), index = 0;
for(int i = 1; i<n; i++)
{
temp1 = Countx(A,n,A[i]);
if(temp<temp1)
{
temp = temp1;
index = i;
}
}
return A[index];
}
//chuong trinh chinh
void main(){
int B[max];
unsigned int n;
printf("Nhap n = ");
scanf("%d",&n);
NhapMang(B,n);
printf("Mang vua nhap:\n");
XuatMang(B,n);
printf("\nPhan tu xuat hien nhieu nhat la: %d",Count(B,n));
getch();
}
ở cuối trang, hay nút màu XANH
ở gần giữa trang, coi chừng nhầm nút