资源简介
利用c++ 编写群决策中典型的topsis排序算法。
代码片段和文件信息
#include
#include
#include
#include
#define popsize 6
#define noo 5
double mat[popsize][noo]=
{{0.3020.3000.5040.4500.378
}{0.2160.3750.6300.3380.189
}{0.3450.3000.2520.3380.378
}{0.4740.4500.1260.2250.567
}{0.5180.5250.1260.5630.567
}{0.5000.4500.5040.4500.189}};
double weight[noo]=
{0.1210.0610.4650.1080.245};
double ptopsis[]={0000000};
double rmax[noo];
double rmin[noo];
double max;
double sumcal[noo];
double sqsumcal[noo];
double ntopsis[popsize];
double topsis [popsize];
double pow(doubledouble);
double normalized[popsize][noo];
double wmat[popsize][noo] ;
int main()
{
int i j;
for(i = 0; i < noo; i ++){
for(j = 0; j < popsize; j++)
sumcal [i]+=(mat[j][i])*(mat[j][i]);
}
for(i = 0; i < noo; i ++){
sqsumcal[i]=sqrt(sumcal[i]);
}
for(i = 0; i < noo; i++)
for(j = 0; j < popsize; j++) {
normalized[j][i]=mat[j][i]/sqsumcal[i];
cout << “\n “ << “normalized “ <<(j )<<(i )<< “\t “ << normalized[j][i] ;
}
for(i = 0; i < noo; i++)
for(j = 0; j < popsize; j++) {
wmat[j][i]=normalized[j][i]*weight[i];
cout << “\n “ << “weighted “ <<(j )<<(i )<< “\t “ << wmat[j][i] ;
}
//calculating the maximum of each criteria (positive ideal)*
for(i = 0; i < noo; i ++) {
rmax[i] = wmat[0][i];
for(j = 1; j < popsize; j++)
if(wmat[j][i] > rmax[i])
rmax[i] = wmat[j][i];
cout << “\n “ << “criteria “<< (i ) << “\t “ << rma
- 上一篇:VC++折叠展开型百叶窗的窗体面板组
- 下一篇:宿舍管理系统C语言源代码与可执行文件
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
评论
共有 条评论