铁岭卫星地图:求一个简单得C++程序

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/10 06:25:36
读取含有x,y数据的文件dat1.dat,将该数据与2*2矩阵相乘后将结果输出到文件dat2.dat

dat1
0.000000 1.000000 0.300000
0.020000 1.019799 0.254000
0.040000 1.039189 0.208000
0.060000 1.058165 0.162000
0.080000 1.076716 0.116000
0.100000 1.094838 0.070000
0.120000 1.112521 0.024000
0.140000 1.129759 -0.022000
0.160000 1.146545 -0.068000
0.180000 1.162873 -0.1414000

#include <stdio.h>
#include <math.h>
#define FILENAME_in "e:\input.dat"//输入你的数据文件的地址
#define FILENAME_mul "e:input.dat"//输入你要乘的数据文件的地址
#define FILENAME_out "e:\output.dat"//输入你数据输出文件 的地址

void main()
{
FILE *fp;
double data[3][40]={0};
double mul[3][40]={0};
double data_end[3][40]={0};
int i,j;

if ((fp=fopen(FILENAME_in,"r"))==NULL)
{
printf("cannot open file\n");
return;
}
fread(data,sizeof (data),1,fp);
fclose(fp);

if ((fp=fopen(FILENAME_mul,"r"))==NULL)
{
printf("cannot open file\n");
return;
}
fread(mul,sizeof (mul),1,fp);
fclose(fp);

for (i=0;i<3;i++)
{
for (j=0;j<40;j++)
{
data_end[i][j]=data[i][j]*mul[i][j];
}

}
fp=fopen(FILENAME_out,"w+");
fwrite(data_end,sizeof(data_end),1,fp);
fprintf(fp,"\n");
fclose(fp);
}
两个不同大小的矩阵是不能相乘的。