c++删除一维数组中重复出现的元素,然后按从大到小的顺序输出
#include<iostream.h>void main()
{
int i,n;
int x,y,q;
int *pb;
int *a=new int[n];
int *pa=a;
int e=0;
int j,temp;
cout<<"数组中的元素个数为:"<<endl;
cin>>n;
cout<<"请输入数组a[n]中的元素:"<<endl;
for(i=0;i<n;i++)
{
cin>>*(pa+i);
}
for(i=0;i<n;i++)
{
cout<<*(pa+i);
cout<<" ";
}
for(i=0;i<n+1-e;i++)
{
for(j=1;j<n+1-i-e;j++)
{
if(*(pa+i)=*(pa+i+j))
{
temp=*(pa+i+j);
*(pa+i+j)=*(pa+n-e);
*(pa+n-e)=temp;
e++;
}
}
}
for(x=0;x<n+1-e;x++)
{
*(pb+x)=*(pa+x);
}
for(x=0;x<(n+1-e);x++)
for(y=0;y<(n-e-x);y++)
{
if(*(pb+y)<*(pb+y+1))
{q=*(pb+y);
*(pb+y)=*(pb+y+1);
*(pb+y+1)=q;
}
}
for(x=0;x<n+e-1;x++)
cout<<*(pb+x)<<endl;
}
程序没有出错,然后数据的输入输出也是对的,但是最后的删除之后的输不出来
[此贴子已经被作者于2018-11-5 20:55编辑过]