华为oj矩阵相乘2
2016-03-06 16:37
357 查看
#include "oj.h" #include <stdio.h> int main() { int i=0,j=0; int A[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int B[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int C[3][3] = {0}; matrix((int **)A, (int **)B, (int **)C, 3); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d ",C[i][j]); } printf("\n"); } return 0; } /* 功能: 矩阵相乘 输入: MatrixA,MatrixB 输出: MatrixC 返回: 0 */ int matrix(int **MatrixA, int **MatrixB, int **MatrixC, int N) { int i, j, k; int a, b; if(MatrixA == NULL || MatrixB == NULL || MatrixC == NULL) { return -1; } for(i=0;i<N;i++) { for(j=0;j<N;j++) { *((int *)MatrixC + i*N +j) = 0; //转化成一维数组,MatrixC[i][j] for(k=0;k<N;k++) { a = *((int *)MatrixA + i*N + k); //MatrixA[i][k],对于MatrixA,行i是确定的 b = *((int *)MatrixB + k*N + j); //MatrixB[k][j],对于MatrixB,列j是确定的 *((int *)MatrixC + i*N + j) += a*b; } } } return 0; }
相关文章推荐
- iOS开发之获取手机信息
- KNN算法
- zookeeper使用和原理探究
- 软件工程都涉及哪些概念和名词?他们的关系如何 如何解释
- iOS-合成图片(长图)
- 虚拟键盘,移动web开发的痛
- POJ 3061 Subsequence【尺取法】
- spring整合JMS(7)
- 蓝桥杯 — 基础练习 特殊回文数(思路+详解)
- 蓝桥杯2015省赛第6题
- Quartz2D - 下载进度条
- 让Div居中的方法
- java 中集合和数组互相转换
- 如何学习Android及如何利用Android赚钱
- 全国信息学奥林匹克联赛(NOIP2011)复赛 提高组 day2 T2 聪明的质监员
- Ubuntu 14.04 LTS环境下编译 Webkit 内核(一)
- Node.js程序中的本地文件操作用法小结
- ListView加载不同布局时的复用及原理分析
- BZOJ-1477 青蛙的约会 拓展欧几里德
- delphi中Message消息的使用方法