众数问题(为什么只能输入一组数据,不能输入m组数据)
描述
所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,
多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。
现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。
- 输入
- 第一行为n,表示测试数据组数。(n<30)
每组测试的第一行是一个整数m,表示多重集S中元素的个数为m
接下来的一行中给出m(m<100)个不大于10万的自然数
(不会出现不同元素出现的次数相同的情况,如:S={11,11,22,22,33,33})。 - 输出
- 每组测试数据输出一行,包含两个数,第一个是众数,第二个是其重数,中间以空格隔开。
- 样例输入
-
1
6
1 2 2 2 3 5 - 样例输出
-
2 3 我的程序:
#include<iostream>
#include<vector>
using namespace std;struct num
{
int value;
int count;
};int main()
{
int m;
vector<int>a;
vector<num>b;
cin>>m;
for(int i=0;i<m;i++)
{
int n;
cin>>n;
for(int j=0;j<n;j++)
{
int x;
cin>>x;
a.push_back(x);
}num c={0,0}; //表示0的个数
for(j=0;i<n;i++) //有错,i换成j
{
if(a[j]==0)
c.count++;
}for(j=0;j<n;j++)
{
int x=1; //表示a[j]出现的次数,因为比较时a[j]本身也算一次,所以x=1;
if(a[j]!=0)
{
for(int k=j+1;k<n;k++)
{
if(a[k]==a[j])
{
x++;
a[k]=0;
}
}if(x>c.count)
{
c.count=x;
c.value=a[j];
}a[j]=0;
}
}b.push_back(c);
a.clear();
}for(i=0;i<m;i++)
cout<<b[i].value<<" "<<b[i].count<<endl;return 0;
}#include<stdio.h>
int main()
{
int n,m,i,k,a[100],max,sum,j;
scanf("%d",&n);
while(n--)
{
sum=1;
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&a[i]);
for(j=0,k=0;j<m;j++)
{
for(i=0;i<m;i++)
{
if(a[i]==a[j]) k++;
if(k>sum)
{
sum=k;
max=a[i];
}
}
k=0;
}
printf("%d %d\n",max,sum);
}
return 0;
}(正确解法)
众数问题(为什么只能输入一组数据,不能输入m组数据)的更多相关文章
- java从键盘输入一组数据,输出其最大值,平均值,最小值没法输出
总结::需要耐心,加思考.做事不思考,那就是白做徒劳!!!!! package com.aini; import java.util.Scanner; //操...为什么数组的大小比较我硬是搞不懂,比 ...
- 【C语言入门教程】3.2 数据的输入 与 输出
在程序的运行过程中,通常需要用户输入一些数据,而程序运算所得到的计算结果等又需要输出给用户,由此实现人与计算机之间的交互.所以在程序设计中,输入输出语句是一类必不可少的重要语句.在 C 语言中,没有专 ...
- SpaceSyntax【空间句法】之DepthMapX学习:第一篇 数据的输入 与 能做哪些分析
两部分,1需要喂什么东西给软件,2它能干什么(输出什么东西在下一篇讲) 博客园/B站/知乎/CSDN @秋意正寒 转载请在头部附上源地址 目录:https://www.cnblogs.com/onsu ...
- STM32输入捕获模式设置并用DMA接收数据
参考: STM32的PWM输入模式设置并用DMA接收数据 Input capture mode The input stage samples the corresponding TIx input ...
- POJ数据的输入输出格式
POJ在评阅习题时需要向程序提供输入数据,并获取程序的输出结果.因此提交的程序需按照每个习题具体的输入输出格式要求处理输入输出.有的时候,测评系统给出程序的评判结果是“数据错误”或“结果错误”,有可能 ...
- PAT IO-04 混合类型数据格式化输入(5)
/* *PAT IO-04 混合类型数据格式化输入(5) *2015-08-01 作者:flx413 */ #include<stdio.h> int main() { int a; fl ...
- 【C语言】输入一组整数,求出这组数字子序列和中最大值
//输入一组整数.求出这组数字子序列和中最大值 #include <stdio.h> int MAxSum(int arr[],int len) { int maxsum = 0; int ...
- IO-04. 混合类型数据格式化输入
/** *A4-IO-04. 混合类型数据格式化输入 *C语言实现 *测试已通过 */ #include "stdio.h" int main() { float m1,m2; i ...
- invalid types 'int[int]' for array subscript// EOF 输入多组数据//如何键盘输入EOF
数组维度搞错了 一次运行,要输入多组数据,直到读至输入文件末尾(EOF)为止 while(scanf("%d %d",&a, &b) != EOF) // 输入结束 ...
- html input验证只能输入数字,不能输入其他
html input验证只能输入数字,不能输入其他 此方法为借鉴别人的,在此只做记录. <input type="text" onkeyup="if(!/^\d+$ ...
随机推荐
- 解决初学者学不懂android,不理解android的设计
最近在忙着搞一个小项目,所以没有来得及写一些原创性的东西,好容易今天中秋节,就趁现在写一些吧,今天仍然看了些老马的视频,尽管这些东西以前都用过,但是感觉仍然学到了不少东西,说给大家听希望大家也要不要不 ...
- java的静态代理
解决这个问题:在多个模块要插入一段功能,比方,在不同业务处理模块中,都须要检查用户是否登录,假设不使用代理的话,每添加一个模块,就须要添加非常多代码. 比方,除了推断是否登录,假设还须要添加一个记录日 ...
- 第一个关于ajax的代码
昨天由于需要,写了第一个需要ajax的程序,之前只是看过相关介绍,没想到这么有用,记录一下,如有错误,还希望大家提出$(document).ready(function () {//获取url中名字为 ...
- asp.net application
Application 对象用于存储和访问来自任何页面的变量,类似于 session 对象.不同之处在于,所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对 ...
- Unicode解码、URL编码/解码
+ (NSString *) stringByReplaceUnicode:(NSString *)string { NSMutableString *convertedString = [strin ...
- transactionscope报“此操作对该事务的状态无效”问题
编写的保存方法里面有个transactionscope代码一直报“此操作对该事务的状态无效”,弄了半天,原来是超时问题(transactionscope默认超时时间是1分钟) 经过修改,设置了超时时间 ...
- php输出json中文显示编码-解决办法
$str = "中华人民共和国";$ar = array( "a" => "a0", "b" => &quo ...
- python正则表达式练习篇2
首先生成正则表达式练习的数据: #! /usr/bin/python from random import randint, choice from string import lowercase f ...
- Mysql源码安装
首先去http://dev.mysql.com/downloads/mysql/5.6.html 下载mysql的源代码,记住是source code,别下别的版本 1.安装依赖的包 yum -y i ...
- ASP.NET DataList绑定数据并实现分页
显示当前页码Label属性 值ID NowPageNumberLabtext 1 ×××××××××××××××××××××显示总页码Label属性 值ID BackPageNumberLabt ...