一转成双2014:vb程序修改

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 20:25:38
150金求高手帮忙把这段程序的部分代码改一下,要求依然能运行,只要和源文件有一些不同就可以,双斜线后面是注释说明,十万火急!!
//秦皇岛市某控制单元实例

//用来调节中间输出过程
#define DEBUG 0
#define DEBUG1 0

//引用的函数库
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

//变量声明部分
const int N = 9; //源的个数
const int F = 7; //方案数
double MAXDS; //实例的最大排放量
double percent = 0.7; //约束指标相当于当前总量的百分比
double DS; //表示控制断面或者点的环境(质量)指标值
const double P[N][F]={{12.75,0},{7,0},
{300,150,78,47,20,1,0},{15,8,6.8,2,0},
{30,0},{25,10,2,0},{5.2,0},{20,0},{4,0}};
//表示第j源采用不同方案的投资
const double B[N][F]={{489.1,4902.1},{346.7,693.5},
{5051.5,10103.0,13470.7,15154.6,15996.5,16501.6,16838.4},
{545.2,654.3,872.4,1003.3,1090.3},{85.7,171.4},
{1939.6,2715.4,3491.3,3879.3},{336.3,420.9},{95,190},{40,68.5}};
//表示第j源采用不同技术方案的排放量
double DD[4]; //约束条件使用的数组
const int L[N]={2,2,7,5,2,4,2,2,2}; //表示第j源的方案数
int number1[4]; //方案标号
int number2[4];
int X[4][N]; //表示相关的组合方案
bool flag = 1; //找到的解的情况的标志,为0说明找到最优解
bool flag1 = 1; //找到的解的情况的标志,为0说明问题不可解
int A[N]; //表示第j源对控制断面或者点的影响系数
//本例中没有使用

double a,b; //调试是输出投资总额

//功能函数声明部分
//在这里只是声明并未定义
void initial();
void judge1();
void judge2();
void feel();
void maxspeed();
void maxdecrease();
void iterative();
void final();
void final1();

//主函数部分
void main ()
{
printf("\n\n\n\t\t\t秦皇岛市某控制单元实例演示\n\n\n\n"); //标题
initial(); //调用初始化函数计算得出需要用的常量
judge1(); //首先进行验证理论最优解是否符合条件
if (flag == 0) final(); //如果符合(flag=0)直接找到最优解
judge2(); //如果不符合就生成一个随意的满足约束条件解
//本实例选择的是最差的解
while (flag==1) //没有找到最优解则一直循环
{
if (flag1 == 0) //flag1=0为没有解的标志
{
final1(); //调用没有解时候的输出
return;
}

feel(); //调用试探法

if (flag == 0) //如果找到最优解
{
final(); //调用找到最优解时候的输出
return;
}

maxspeed(); //调用最大速率组合函数
maxdecrease(); //调用目标值降低最大函数
iterative(); //调用函数进行迭代前的准备工作
}
}

//函数定义部分