⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wsrandom.cpp

📁 开发环境:Visual C++ .net2003 功能:利用遗传算法求解TSP问题。
💻 CPP
字号:
#include "StdAfx.h"
#include ".\wsrandom.h"

WSRandom::WSRandom(void)
{
}

WSRandom::~WSRandom(void)
{
}

/*
功能:利用计算机,从概率上决定某事件的发生与否
输入:预设概率值-->Float型
输出:TRUE-->事件发生 FALSE-->事件不发生

注:
1、RAND_MAX:0x7fff
2、符合预定概率的精确度:0.00001 即 0.001%
3、	若使用rand()%10000将得不到较好的概率模拟值,
	因为rand()值的后四位偏向小于2767的数,故所得概率会偏大。
*/
BOOL WSRandom::JudgeEven(FLOAT _probability)
{
	if(_probability <= 0) return FALSE;	
	
	FLOAT l_Value = (FLOAT)rand()/RAND_MAX;

	if(l_Value < _probability) return TRUE;
	return FALSE;
}

/*
功能:生成随即数的种子值,目的是保证每次使用的随机数都不一样,拟真随机数
输入:无
输出:无

注:
1、该处利用了时间的不断变化来产生不同的种子值
*/
VOID WSRandom::Initial()
{
	DWORD l_CurTime = GetCurrentTime();
	srand(l_CurTime);
}

/*
功能:设定最小值和最大值,生成介于他们的随机数
输入:最小值-->Int型 最大值-->Int型
输出:所得随机数

注:
1、	生成函数:(INT)( _low + ((_high - _low + 0.999) * (FLOAT)rand()/RAND_MAX) )
	0.0--1.1之间
*/
INT WSRandom::GenRand(INT _low, INT _high)
{ 
	return (INT)( _low + ((_high - _low + 0.999) * (FLOAT)rand()/RAND_MAX) );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -