Viết hàm tìm phần tử xuất hiện nhiều nhất trong mảng các số nguyên.
thank
thank
Giới tính :
Tuổi : 31
Đến từ : Cần thơ
Ngày Tham gia : 10/01/2012
Tổng số bài gửi : 750
Giới tính :
Đến từ : TPHCM
Ngày Tham gia : 03/04/2011
Tổng số bài gửi : 2292
programminhhacker đã viết:Viết hàm tìm phần tử xuất hiện nhiều nhất trong mảng các số nguyên.
thank
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
using namespace std;
void nhap(int *ds, int n)/*nhap mang*/
{
for(int i=0; i<n;i++)
{
cout<<"nhap phan tu thu" <<i+1 <<": "; //Nhap phan tu thu
cin>>ds[i]; cout<<"\n";
}
cout<<"Mang vua nhap: "<<endl; //In mang vua nhap
cout<<"\n";
for(int j=0;j<n;j++)
cout<<ds[j]<<" ";
}
void sapxep(int *ds, int n) /*sap xep mang*/
{
int tam;
for(int i=0; i<n-1; i++)
for(int j=i+1; j<n; j++)
if (ds[i]>ds[j])
{
tam=ds[i];
ds[i]=ds[j];
ds[j]=tam;
}
}
int max(int *ds, int n) /*Tim so lon nhat*/
{
int max; int i;
max=ds[0];
for(i=1;i<n;i++)
if (max<ds[i])
max=ds[i];
return max;
}
int imax(int *ds, int n)/*dem so lan phan tu lon nhat xuat hien*/
{ int j=0;
int dem= max(ds,n);
for(int i=0;i<n;i++)
if (dem==ds[i]){j++;}
return j;
}
int xuathien(int *ds,int n)/*dem so phan tu xuat hien nhieu nhat*/
{
int max;
struct tinh
{
int a;
int dem;
}mang[10];
for(int j=0; j<n; j++)
for(int i=0; i<n; i++)
{
mang[j].a = ds[0];
if(ds[i] == mang[j].a)
mang[j].dem+=1;
}
for(int i=0; i<n-1; i++)
for(int j=i+1; j<n; j++)
if(mang[i].dem > mang[j].dem)
max = mang[i].a;
cout << "phan tu lap lai nhieu nhat: " << max << " ";
}
int nguyento( int x )/*Tim so nguyen to trong mang ds*/
{
if ( x==1) return 0;
if ( x==2 || x==3) return 1;
for(int i = 2; i <= (int)sqrt(x); i++)
{
if ( x % i ==0) return 0;
// if( (int)ds[i] % i == 0 || ds[i] < 2 && ds[i] != 2)
// {return 0;}
}
return 1;
}
int main()
{
// int *ds;
int n; //Khai bao bien
cout << "Nhap n phan tu: " ; //Nhap so phan tu mang
cin >> n;
int*ds=new int [n];
nhap(ds,n); //Goi ham nhap tung phan tu trong mang va in mang vua nhap
cout << endl; cout<<"\n";
cout << "max= " << max(ds,n); //In gia tri lon nhat cua mang
cout <<"\n"; cout<<"\n";
cout << "so lan phan tu max xuat hien = " << imax(ds,n); //In so lan phan tu max xuat hien
cout <<"\n"; cout<<"\n";
sapxep(ds,n); // In mang sau khi sap xep theo thu tu tang dan
cout <<"Mang ds sau khi sap xep: " ;
cout <<"\n"; cout<<"\n";
for(int i=0;i<n;i++)
cout<<ds[i]<<" ";
cout<<"\n";
xuathien(ds,n); // phan tu xuat hien nhieu nhat
// nguyento(ds,n); // in cac phan tu la so nguyen to
cout<<" \ncac so nguyen to la \n";
for(int i = 0; i < n; i++) //
{ //int k=0; int snt;
if(nguyento(ds[i])==1){
// snt[k] = ds[i];
// k++;
cout<< ds[i] << " ";
}
}
// cout<<"\n Bang cac so nguyen to" <<"\n"
cout<<"\n";
delete []ds;
ds=NULL; //giai phong mang sau khi chay xong chuong trinh
system("pause");
return 0;
}
Giới tính :
Tuổi : 33
Đến từ : hồ chí minh
Ngày Tham gia : 19/04/2012
Tổng số bài gửi : 11
Giới tính :
Tuổi : 31
Đến từ : Cần thơ
Ngày Tham gia : 10/01/2012
Tổng số bài gửi : 750
phanvanvien1991 đã viết:vậy tiện thể Admin lập trình giùm mình bài này với :
Cho ma trận cấp (nxn, 0
|
|