矩阵相乘

来源:互联网 发布:自学java看什么书 知乎 编辑:程序博客网 时间:2024/05/18 02:15
#include <stdio.h>#include <stdlib.h>int main(){double a[9][8];double b[8][9];double c[9][9]={0};FILE* fp = fopen("C++__A/two.dat","rb");if(fp==NULL)perror("file open failed;\n"),exit(-1);for(int i = 0;i < 9;i++)for(int j=0;j<8;j++){fscanf(fp,"%lf",&a[i][j]);//perror("read failed\n"),exit(-1);fseek(fp,1,SEEK_CUR);}for(int i = 0;i<9;i++){for(int j = 0;j<8;j++)printf("%.2f ",a[i][j]);printf("\n");}for(int i = 0;i < 8;i++)for(int j = 0;j<9;j++){fscanf(fp,"%lf",&b[i][j]);fseek(fp,1,SEEK_CUR);}for(int i = 0;i<8;i++){for(int j = 0;j<9;j++)printf("%.2f ",b[i][j]);printf("\n");}    /*这里主要实现矩阵相乘*/for(int i=0;i < 9; i++ )for(int j = 0; j < 9;j++)for(int k = 0;k<8;k++)    c[i][j]+=a[i][k]*b[j][k];    /*c[9][9]=c[9][8]*c[8][9]*/for(int i = 0;i<9;i++){for(int j = 0;j< 9;j++)printf("%.2f ",c[i][j]);printf("\n");}}

原创粉丝点击