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();
}

By alaza7

Leave a Reply

Your email address will not be published. Required fields are marked *