- Code:
#include "stdio.h"
#include "conio.h"
#include "alloc.h"
void NhapMang(int** Mang, int* SoPhanTu);
void TimCacMax(int* Mang, int SoPhanTu);
void main()
{
int *Mang, SoPhanTu;
printf("NHAP MANG\n");
NhapMang(&Mang,&SoPhanTu);
printf("Cac so xuat hien nhieu nhat:\n");
TimCacMax(Mang,SoPhanTu);
getch();
}
void NhapMang(int** Mang, int* SoPhanTu)
{
int i;
int *MangTam;
//clrscr();
do
{
printf("So phan tu:");
scanf("%d", SoPhanTu);
if(*SoPhanTu <= 0)
printf("Nhap sai!Nhap lai\n");
}
while(*SoPhanTu <= 0);
MangTam = (int*)malloc(sizeof(int)*(*SoPhanTu));
for(i=0; i < *SoPhanTu; i++)
{
printf("Phan tu thu %d:", i);
scanf("%d", &MangTam[i]);
}
*Mang = MangTam;
}
void TimCacMax(int* Mang, int SoPhanTu)
{
int* SoLanXuatHien = (int*)malloc(sizeof(int)*SoPhanTu);
int** ConTroSoLanXuatHien = (int**)malloc(sizeof(int*)*SoPhanTu);
int i, j, max=0;
for(i=0; i < SoPhanTu; i++)
{
SoLanXuatHien[i] = 0;
ConTroSoLanXuatHien[i] = &SoLanXuatHien[i];
}
for(i=0; i < SoPhanTu; i++)
if(*ConTroSoLanXuatHien[i] == 0)
{
*ConTroSoLanXuatHien[i] = 1;
for(j = i+1; j < SoPhanTu;j++)
if(Mang[j] == Mang[i])
{
ConTroSoLanXuatHien[j] = ConTroSoLanXuatHien[i];
*ConTroSoLanXuatHien[i] += 1;
}
}
free(ConTroSoLanXuatHien);
for(i=0; i < SoPhanTu; i++)
if(SoLanXuatHien[i] > max) max = SoLanXuatHien[i];
for(i=0; i < SoPhanTu; i++)
if(SoLanXuatHien[i] == max)
printf("%d ",Mang[i]);
free(SoLanXuatHien);
printf("\nXuat hien %d lan", max);
}
Đếm số phần tử xuất hiện nhiều nhất
Giới tính :
Đến từ : TPHCM
Ngày Tham gia : 03/04/2011
Tổng số bài gửi : 2292
Giới tính :
Đến từ : TPHCM
Ngày Tham gia : 03/04/2011
Tổng số bài gửi : 2292
- Code:
#include "conio.h"
#include "stdio.h"
int NhapSoNguyenDuong();
void Nhap(int *a,int n);
void Xuat(int *a,int n);
int DemPT(int *a,int n,int x);/*dem so luong pt x trong mang*/
int XuatHienNhieuNhat(int *a,int n);
int NhapSoNguyenDuong()
{
int n;
do
{
printf("Nhap n: ");
scanf("%d",&n);
}while(n<=0);
return n;
}
void Nhap(int *a,int n)
{
for(int i=0;i<n;i++)
{
printf("Nhap a[%d]: ",i);
scanf("%d",a+i);
}
}
void Xuat(int *a,int n)
{
for(int i=0;i<n;i++)
printf("%4d",a[i]);
}
int DemPT(int *a,int n,int x)
{
int dem=0;
for(int i=0;i<n;i++)
if(*(a+i)==x)
dem++;
return dem;
}
int XuatHienNhieuNhat(int *a,int n)
{
int demlc=0;
int lc;
for(int i=0;i<n;i++)
{
int dem=DemPT(a,n,a[i]);
if(dem>demlc)
{
lc=a[i];
demlc=dem;
}
}
return lc;
}
int main(int argc, TCHAR* ,argv[])
{
int *a;
printf("Bai07\n");
int n= NhapSoNguyenDuong();
a=new int [n];
Nhap(a,n);
printf("Mang ban dau: ");
Xuat(a,n);
printf("\n");
printf("Gia tri xuat hien nhieu nhat trong mang: %4d\n",XuatHienNhieuNhat(a,n));
delete []a;
return 0;
}
|
|