【发布时间】:2018-11-27 20:48:40
【问题描述】:
我希望我的程序可以对输入的整数进行排序并计算输入的任何整数的个数,但我不知道应该在哪里写 c 的 cout 例子 a[9]={2,3,2,6,6,3,5,2,2} 2的数量是4 3的数量是2 6的数量是2 . . 请修复此代码
int main()
{
cout << "please enter the number of digites :" << endl;
int n;
cin>>n;
int a[n];
cout<<"enter numbers :"<<endl;
for(int i=0;i<n;i++)
cin>>a[i];
int i,j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
if(a[j]>a[j+1])
{
int temp;
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
int c;
for(int m=0;m<n;m++)
{
if(a[m]==a[m+1])
c++;
else
c=0;
}
return 0;
}
【问题讨论】:
-
C++ 中不允许使用 VLA,请改用
std::vector -
您必须对输入进行排序吗? this technique 无需对源容器进行排序即可工作,只需 2 行代码。
-
@user463035818 和
std::map使用std::vector和std::sort完全没有必要 -
@Slava 当然 ;)
-
如果你想排序,
std::sort有什么问题?