
c++删除重复数据问题
请问哪里出错了?#include<iostream>usingnamespacestd;voidmain(void){inta[11];//定义数组ainti;a[0]=...
请问哪里出错了?#include<iostream>using namespace std;void main(void){ int a[11];//定义数组a int i; a[0]=1; a[1]=1; for(i=2;i<10;i++) {a[i]=a[i-1]+a[i-2];} cout<<"自动生成的10个整数:"<<endl; for(i=0;i<10;i++) {cout<<a[i]<<" ";} cout<<endl; int x,p; cout<<"输入待插入的数据:"; cin>>x; for(i=0;i<10;i++) {if(x<=a[i]) {p=i;break;} } for(i=11;i>p;i--) {a[i]=a[i-1];} cout<<"插入后数组序列为:"<<endl; for(i=0;i<11;i++) {cout<<a[i]<<" ";} cout<<endl; int b[11]; b[0]=a[0]; int j,n=1; for(i=1;i<11;i++) {for(j=0;j<n;j++) {if(a[j]==a[i]) break;} if(j==n) {b[n]=a[i]; n=n+1;} } cout<<"去重后数组序列为:"<<endl; for(i=0;i<n;i++) cout<<b[i]<<" "; cout<<endl;}
展开
2个回答
展开全部
int a[11];//定义数组a修改部分已在注释里说明
int i;
a[0]=1;
a[1]=1;
for(i=2;i<10;i++)
{
a[i]=a[i-1]+a[i-2];
}
cout<<"自动生成的10个整数:"<<endl;
for(i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
int x,p;
cout<<"输入待插入的数据:";
cin>>x;
for(i=0;i<10;i++)
{
if(x<=a[i])
{
p=i;
break;
}
}
for(i=11;i>p;i--)
{
a[i]=a[i-1];
}
cout<<"插入后数组序列为:"<<endl;
for(i=0;i<11;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
int b[11];
b[0]=a[0];
int j,n=1;
for(i=1;i<11;i++)
{
for(j=0;j<n;j++)
{
//修改这里,判断数组b里是否已包含a中的元素
if(b[j]==a[i])
break;
}
if(j==n)
{
b[n]=a[i];
n=n+1;
}
}
cout<<"去重后数组序列为:"<<endl;
for(i=0;i<n;i++)
cout<<b[i]<<" ";
cout<<endl;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询