社区
新手乐园
帖子详情
求助~~~~~~~~~~~~~~~~~~~~~~~~~~~求助
xiaomailovelvping
2006-12-26 04:39:06
求一个数组中相同数最多的那个数,并把这个数打印出来!例如
(1,2,3,1,4,2,5,4,1,3,1)这个数组就应该打印出1,谢谢各位大侠了~,在线等待!!!!!
...全文
246
9
打赏
收藏
求助~~~~~~~~~~~~~~~~~~~~~~~~~~~求助
求一个数组中相同数最多的那个数,并把这个数打印出来!例如 (1,2,3,1,4,2,5,4,1,3,1)这个数组就应该打印出1,谢谢各位大侠了~,在线等待!!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Loongchild
2007-01-01
打赏
举报
回复
int i,j;
int temp1=0,temp2=0,max=0;
for(i=0;i<n-1;i++)
{
for(j=0;j<n;j++)
if(input[i]==input[j])
temp2++;
max = temp2 > temp1 ? i : max ;
if(temp2>n/2)break;
temp1 = temp2;
temp2 = 0;
}
cout<<input[max]<<endl;
asdforever
2006-12-31
打赏
举报
回复
#ifndef DATAARRAY_H
#define DATAARRAY_H
#include<iostream>
using namespace std;
#define N 20
class MyArray{
int *a, *b, *c,*d;
int *ArrayData0;
int *ArrayData1;
int *ArrayData2;
public:
void fordataB();
void listArray();
void reData();
~MyArray();
MyArray();
};
#endif
MyArray::MyArray()
{
a=new int[N];
d=new int[N];
for(int i=0;i<N;i++)
{
a[i]=rand()%N;
d[i]=a[i];
}
}
void MyArray::fordataB()
{
b=new int[N];
c=new int[N];
int count;
for(int j=0;j<N;j++)
{
count=1;
for(int i=j+1;i<N;i++)
{
if(d[j]==d[i])
{
count++;
int m=0;
for(int k=i;k<N-m-1;k++)
{
d[k]=d[k+1];
d[N-m-1]=-1;
m++;
}
}
}
b[j]=count;
c[j]=d[j];
}
}
void MyArray::reData()
{
int count=0;
for(int q=0;q<N;q++)
{
if(d[q]<0)
{
count=q;
break;
}
else
q++;
}
ArrayData0=new int[count];
ArrayData1=new int[count];
ArrayData2=new int[count];
for(int i=0;i<count-1;i++)
{
ArrayData0[i]=d[i];
ArrayData1[i]=b[i];
ArrayData2[i]=c[i];
}
if(d)
delete[] d;
if(b)
delete[] b;
if(c)
delete[] c;
}
void MyArray::listArray()
{
cout<<"原始随机数组:"<<endl;
for(int i=0;i<N;i++)
cout<<a[i]<<",";
cout<<endl;
int count=0;
for(int q=0;q<N;q++)
{
if(d[q]<0)
{
count=q;
break;
}
else
q++;
}
reData();
cout<<"统计后结果:"<<endl;
for(int j=0;j<count-1;j++)
cout<<"数组中的数据:"<<ArrayData2[j]<<" "<<"出现次数:"<<ArrayData1[j]<<";"<<endl;
cout<<endl;
for(int m=0;m<count-1;m++)
cout<<"剩以数组:"<<"ArrayData0["<<m<<"]="<<ArrayData0[m]<<","<<endl;
cout<<endl;
}
MyArray::~MyArray()
{
if(a)
delete[] a;
if(ArrayData0)
delete[] ArrayData0;
if(ArrayData1)
delete[] ArrayData1;
if(ArrayData2)
delete[] ArrayData2;
}
//main();
#include"dataArray.h"
int main()
{
MyArray theArray;
theArray.fordataB();
theArray.listArray();
return 0;
}
//。
Bennyatt
2006-12-31
打赏
举报
回复
一看写代码的活已经没有了
我灌水吧。。。
lei001
2006-12-30
打赏
举报
回复
做个计数,遇到相同的数字则计数加1,最后比较计数的大小,输出计数最大的
DonaldKnuth
2006-12-30
打赏
举报
回复
//用数组下标存储索引,数组值存储频率就可以了
#include <iostream>
using namespace std;
int main()
{
int coll[101];
for(int i=0; i<=100; ++i)
coll[i] = 0;
int value = 0;
int min = 0;
while(value >= 0 && value <= 100)
{
cout<<"输入0到100的元素,其他整型值退出 : ";
cin>>value;
if(value >= 0 && value <= 100)
coll[value] = coll[value] + 1;
}
for(int j=1; j<=100; ++j)
if(coll[min] <= coll[j])
min = j;
cout<<"\n出现最多的元素是:"<<min<<"\n 出现次数为: "<<coll[min]<<endl;
}
ReverseEngineering
2006-12-30
打赏
举报
回复
就是排序
yuanhan530
2006-12-26
打赏
举报
回复
楼上的两位白说了.人家哪里看得懂你们这些.
顺便问下,楼主看得懂吗?
看懂了不要给我分就是了.
可以这样...
用另外一个数组存这个数组中的相同元素的个...再排个序.
Wolf0403
2006-12-26
打赏
举报
回复
先 sort 然后统计,C++ 可以 std::sort,可以比楼上更简单。
taodm
2006-12-26
打赏
举报
回复
先统计各数的计数,然后对计数进行排序。
如果用C++,代码可以很简单
map<int, int> Number2Count;
for (int i = 0; i < ArrayNumer; ++i)
{
++Number2Count[Array[i]];
}
multi_map<int, int> Count2Number;
for (map<int, int>::iterator iter = Number2Count.begin(); iter != Number2Count.end(); ++iter)
{
Count2Number.insert(make_pair(iter->second, iter->first));
}
cout << Count2Number.begin()->second;
论坛
求助
~如何用D3D的精灵接口显示图片
不能正确显示, 但是数据应该是正确读取的,
求助
~
求助
~高手帮帮小妹吧!
名称:宠物(小动物)店信息管理系统 内容:链表的创建、输出、插入、删除、遍历、合并等操作,链表的原始数据可从文件中读取,信息也要求输出到文件中。 <br>小妹感激不尽!!!!
test2.rar......
求助
呀
求助
~为什么要超过20个字呀呀呀呀呀呀呀呀呀呀...
vb拖动
求助
啊~~
TCP服务器(socket)
服务器以及客户端程序,不知道为什么连接不上~
求助
~请大家帮忙看一下问题出在了哪里,谢谢~
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章