“凑数算法”已知:string类型定长数组(如sName[5]={aa,bb,cc,dd,ee},各元素互不相等)unsigneddouble类型定长数组(如dP[5]={1.1,2.2,3.3,4.4,5.5},可以有重复元素)unsigneddoubl...
“凑数算法”
已知:
string类型定长数组(如 sName[5]={aa,bb,cc,dd,ee},各元素互不相等)
unsigned double类型定长数组(如 dP[5]={1.1,2.2,3.3,4.4,5.5},可以有重复元素)
unsigned double类型定长数组(如 dN[5]={1.1,2.2,3.3,4.4,5.5},可以有重复元素)
三个数组元素数量y相等(本例中y=5)
unsigned double类型变量 vDbl=28.0(实际运行时,取值大于0即可,此处28.0为测试值)
unsigned double类型变量 vSpe=1.2(实际运行时,取值大于1小于10即可,此处1.2为测试值)
求:
string类型变长数组(如 sNewName[x],各元素互不相等)
unsigned double类型变长数组(如 dNewP[x])
unsigned double类型变长数组(如 dNewN[x])
三个数组元素数量相等(本例中都为x,x>0)
要求:
1. 使用一个或多个C++函数或VB过程或函数(Sub/Function)实现(若使用VB应避免Goto)
2. sNewName数组元素由sName数组元素随机组成(即sNewName中元素取值范围为sName数组)
3. dNewP数组中各元素由dP数组中各元素经处理后随机组成,且同时满足(设i∈0~x-1,j∈0~y-1):
(1)当sNewName[i]= sName[j]时, dP[j] <= dNewP[i] <= dP[j]*vSpe
且 0 < dNewN[i] <= dN[j]
(2)dNewP数组元素与dNewN数组元素对应乘积求和 Summary(dNewP[i]*dNewN[i])=vDbl
(即,dNewP[0]*dNewN[0]+dNewP[1]*dNewN[1]+dNewP[2]*dNewN[2]+........=vDbl)
4. 若满足条件的解不唯一,请使用阈值(数量越少越好)控制使之唯一,并将阈值赋值权限交给用户。
5. 目标环境:Visual Basic 6.0 / Visual C++ 6.0 / Dev C++
展开