资源简介
利用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语言源代码与可执行文件
相关资源
- VC++折叠展开型百叶窗的窗体面板组
- 时间轮 C语言版
- socket实现的CS框架
- 用C++实现的CURE算法的源码
- C++实现的BIRCH算法
- 给予c++的多线程
- Windows+Sockets网络开发——基于Visual+
- 基于opencv人眼定位算法C++工程
- c++课程表
- vc++文件加密程序软件
- 单像空间后方交会 C++实现
- 阈值分割和区域生长vc++代码
- C++判断点是否在多边形内
-
c++图片 ba
se64互转 - C++写的餐厅管理系统(含源代码和运
- MFC 用SOCKET实现图片分包传送和接收并
- 高光谱数据处理
- GPIB_VC++ 开发库及
- MFC可视化信息管理系统简单的程序,
- 挂机锁原理与实现vc++源代码
- 场景渲染 蓝天 白云模拟程序二
- C++ Wu直线反走样实现代码
- VC++ 实现FTP客户端与服务器
- 随机迷宫生成迷宫自动寻路软件VS20
- 基于属性重要度的约简算法
- C语言100个经典算法题目+源码
- Ftp服务器与客户端VC++完整版源码
- 高校人事管理系统C++程序设计
- 贪心算法编写的01背包问题c/c++
- C++课程设计大作业
评论
共有 条评论