| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 953 人关注过本帖
标题:数组矩阵相乘
取消只看楼主 加入收藏
qinj13178952
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-22
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:0 
数组矩阵相乘
题目: n维矩阵乘法:A B-1
功能:设计一个矩阵相乘的程序,首先从键盘输入两个矩阵a,b的内容,并输出两个矩阵,
输出ab-1结果。
分步实施:
1)    初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2)    完成最低要求:建立一个文件,可完成2维矩阵的情况;
3)    一步要求:通过键盘输入维数n。有兴趣的同学可以自己扩充系统功能。
要求:1)界面友好,函数功能要划分好
2)总体设计应画一流程图
3)程序要加必要的注释
4)要提供程序测试方案
5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。



数据结构老师留的作业,我用c语言写了代码,不用函数的话就可以正确运行,但是我排成函数格式后出现很多错误,但是不明白系统说的错误是什么意思。
希望大家帮我看看


#include<stdio.h>
#define X 2
#define Y 3
#define Z 4
int main()
{
    void Matrix(int a[][],int m,int n);
    void MatrixC(int a[][],int b[][],int c[][],int m,int n);
    void print(int a[][],int m,int n);                          //3个函数声明
    FILE *fp;
    fp=fopen("matrix.txt","w");         //文件写入
 int a[X][Y];
 int b[Y][Z];
 int c[X][Z];
 int i,j;
 Matrix(a,X,Y);//矩阵a输入
 Matrix(b,Y,Z);//矩阵b输入
 MatrixC(a,b,c,X,Z);//调用函数,矩阵相乘实现
 fprintf(fp,"*** Matrix A ***\n");
 print(a,X,Y);//调用函数,矩阵输出
 fprintf(fp,"*** Matrix B ***\n");
 print(b,Y,Z);
  fprintf(fp,"*** Matrix C ***\n");
  print(c,X,Z);
    getch();
    fclose(fp);
    return 0;
}
void  Matrix(int a[][],int m,int n)//矩阵输入
{
     int i,j;
     for(i=0;i<m;i++)
  for(j=0;j<n;j++)
   scanf("%d",&a[i][j]);
     }
void MatrixC(int a[][],int b[][],int c[][],int m,int n)//矩阵相乘实现
{
     int i,j,k;
 for(i=0;i<m;i++)
 {
     for(j=0;j<n;j++)
     {
        c[i][j]=0;
        for(k=0;k<3;k++)
        c[i][j]+=a[i][k]*b[k][j];
        }
 }
}
void print(int a[][],int m,int n)//矩阵屏幕输出
 {
     FILE *fp;
      int i,j;
   for(i=0;i<m;++i)
 {
   for(j=0;j<n;j++)
    fprintf(fp,"%d\t",a[i][j]);
    fprintf(fp,"\n");
    }
}
搜索更多相关主题的帖子: 流程图 矩阵 
2013-04-10 23:01
快速回复:数组矩阵相乘
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029920 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved