删除数组中重复的数据
#include <iostream>#include <ctime>
using namespace std;
int main()
{
int i,j,a[10];
void del(int *p,int n);
srand(time(0));
for(i=0;i!=10;++i)
a[i]=rand()%10+1;
for(i=0;i!=10;++i)
cout<<a[i]<<" ";
cout<<endl;
del(a,10);
return 0;
}
void del(int *p,int n)
{
int i,j,k;
for(i=0;i!=n-1;++i)
for(j=i+1;j!=n;++j)
if(p[i]==p[j])
{
for(k=j;k!=n-1;++k)
p[k]=p[k+1];
n--;
}
for(i=0;i!=n;++i)
cout<<p[i]<<" ";
cout<<endl;
}
运行的时候,有时候正确,有时候又有错误!~到底哪里有问题?