帮我编一个C++程序

来源:百度知道 编辑:UC知道 时间:2024/07/02 04:10:26
int类型,用子函数,返回一个数组中数的不重复个数,比如
array[4]={1,1,1,1},就返回1,
array[4]={1,2,3,4},就返回2
顺便问,这个子函数的参量可以用二维数组不,
比如定义a[100][4]={},参量用a[1],
怕没人做,所以追加给分
主函数显示下就可以了,用的时候我自己加进去,数组可以定义为全局变量

参量可以是二维数组,这提供两种方法:
当是一维数组时,可用下列方法(楼上答得很不错,不知道为什么要匿名回答)
#include<iostream>
using namespace std;
int array[100];
int length;
int arrnum(int a[]);
void main()
{
int i,k;
cout<<"请输入数组的长度:"<<endl;
cin>>length;
cout<<"请输入数组的值:"<<endl;
for(i=0;i<length;i++)
cin>>array[i];
k=arrnum(array);
cout<<"数组中不重复的个数是:"<<k<<endl;
}

int arrnum(int a[])
{
int i,j,number;
for(i=0;i<length-1;i++)
{
for(j=i+1;j<length;j++)
if(a[i]>a[j])
{
number=a[i];
a[i]=a[j];
a[j]=number;
}
}

j=a[0];
number=1;
for(i=0;i<length;i++)
{
if(j<a[i])
number++;
j=a[i];
}
return number;
}

当参数为二维数组时,可用下列函数:

#include<iostream>
using na