算法实现
·采用VC++进行编写
文档的读取
#include “data.h”
//函数定义
double **DataRead(char*name,int row,intcol)
{
double**p=new double* [row];
ifstreaminfile;
infile.open(name,ios::in);
for(inTI=0;i《row;i++)
{
p[i]=newdouble[col];
for(intj=0;j《col;j++)
{
infile》》p[i][j];
}
}
infile.close();
cout《《“成功读取数据文件:”《《name《《“!\n”;
returnp;
//释放内存
for(i=0;i《row;i++)
{
delete[]p[i];
}
delete[]p;
}
文档的保存
#include “data.h”
void DataSave(double**data,int row,intcol,char*name)
{
inTI,j;
ofstreamoutfile;
//打开文件,输出数据
outfile.open(name,ios::out);
outfile.setf(ios::fixed);
outfile.precision(4);
for(i=0;i《row;i++)
{
for(j=0;j《col;j++)
{
outfile《《data[i][j]《《“”;
}
outfile《《endl;
}
outfile《《endl《《endl;
outfile.close();
}
数据标准化处理
#include “data.h”
double **Standardize(double **data,introw,int col)
{
inTI,j;
double*a=new double[col]; //矩阵每列的最大值
double*b=new double[col]; //矩阵每列的最小值
double*c=new double[row]; //矩阵列元素
for(i=0;i《col;i++)
{
//取出数据矩阵的各列元素
for(j=0;j《row;j++)
{
c[j]=Data[j][i];
}
a[i]=c[0],b[i]=c[0];
for(j=0;j《row;j++)
{
//取出该列的最大值
if(c[j]》a[i])
{
a[i]=c[j];
}
//取出该列的最小值
if(c[j]《b[i])
{
b[i]=c[j];
}
}
}
//数据标准化
for(i=0;i《row;i++)
{
for(j=0;j《col;j++