WEB开发网
开发学院软件开发C++ 基本的随机数的产生和排序 阅读

基本的随机数的产生和排序

 2012-05-16 10:06:33 来源:WEB开发网   
核心提示:#include <iostream>#include <iomanip>using namespace std;void print(int i_Array[],int count); //声明输出随机数的函数int chackArray(int i_Val
#include <iostream>
#include <iomanip>
using namespace std;
void print(int i_Array[],int count);                   //声明输出随机数的函数
int chackArray(int i_Value,int i_Array[],int count);   //声明检查产生的随机数是否存在函数
void getArray(int i_Array[],int count);                //声明获得随机数数组函数
void up_Sort(int i_Array[],int count);                 //声明升序排序函数
void down_Sort(int i_Array[],int count);               //声明降序排序函数

int main()
{
	const int count = 100;          //定义要输出的随机数的个数
	int i_Array[count] = {0};		//初始化输出随机数的数组
	getArray(i_Array,count);		//获得随机数数组
	print(i_Array,count);           //输出生成的随机数
	cout<<endl;

	up_Sort(i_Array,count);         //升序排序
	print(i_Array,count);           //输出升序排序后的随机数组
	cout<<endl;

	down_Sort(i_Array,count);       //降序排序
	print(i_Array,count);           //输出降序排序后的随机数组
	
	system("pause");                //暂停定屏
	return 0;
}

//定义输出数组的函数
void print(int i_Array[],int count)
{
	for(int i = 0; i < count;i++)
	{
		cout<<setw(5)<<i_Array[i];
		if(i%10 == 9)
			cout<<endl;
	}
	return;
}


//定义获得数组的函数,其中Number为数组中的第几个数字
void getArray(int i_Array[],int count)
{
	int Number = 0;
	for(int i =0;;i++)
	{
		int i_Value = rand()%100;                      //获得一随机数
			if(chackArray(i_Value,i_Array,Number))     //检查是否在数组里存在,如果不存在则执行下面的过程否则跳过下面的过程
			{
				i_Array[Number] = i_Value;             //将获得的数字赋给数组中的第Number个数字
				Number++;                              
				if(Number == count )                   //如果获的数字个数达到要求,则返回,反之集训
					return;
			}
		
	}
	return;
}


//定义检查重合的函数,其中i_Value为要检查的数,i_Array[]为检查的数组范围,count为数组中的数的个数,如果被检查数不存在则返回1,否则返回0
int chackArray(int i_Value,int i_Array[],int count)
{
	int result = 1;

	for(int i = 0; i<count;i++)
	{
		if(i_Value == i_Array[i])
			return 0;
	}
	return 1;
}

//定义升序排序函数,这里使用的是插入排序的排序方法
void up_Sort(int i_Array[],int count)
{
	int i_Temp = 0;
	for(int i = 1;i < count;i++ )
	{
		int j = i;
		i_Temp = i_Array[i];
		while(j > 0 && i_Temp < i_Array[j - 1])
		{
			i_Array[j] = i_Array[j - 1];
			j--;
		}
		i_Array[j] = i_Temp;
	}
	return;
}

//定义降序排序函数,这里采用的是插入排序法
void down_Sort(int i_Array[],int count)
{
	int i_Temp = 0;
	for(int i = 1;i < count;i++ )
	{
		int j = i;
		i_Temp = i_Array[i];
		while(j > 0 && i_Temp >i_Array[j - 1])
		{
			i_Array[j] = i_Array[j - 1];
			j--;
		}
		i_Array[j] = i_Temp;
	}
	return;
}

Tags:基本 随机数 产生

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接