两个N*N矩阵的乘法,矩阵由一维数组表示
来源:互联网 发布:好用的编程手机输入法 编辑:程序博客网 时间:2024/06/03 13:03
#include <math.h>
#include <stdio.h>
/*This function will calculate two dimensional matrixes' product.
* Please note, they are represented as one-dimensional arrays.
* Note:
* Only apply to line-storage matrix.
*/
void multiply(int result[], int a[], int b[], int n) {
int i=0;
int count=pow(n, 2);
for (i=0; i<count; i++) {
/* 1 = 4/3 */
int row = i / n;
int column = i % n;
int k;
result[i]=0;
for (k=0; k < n; k++) {
result[i] += a[row*n + k] * b[column + k*n];
}
}
}
/*This function will calculate two dimensional matrixes' product.
* Please note, they are represented as one-dimensional arrays.
* Note:
* Only apply to column-storage matrix.
*/
void multiply2(int result[], int a[], int b[], int n) {
int i=0;
int count=pow(n, 2);
for (i=0; i<count; i++) {
/* 1 = 4/3 */
int row = i % n;
int column = i / n;
int k;
result[i]=0;
for (k=0; k < n; k++) {
result[i] += a[row + k*n] * b[column*n + k];
}
}
}
main() {
int A[9]={1, 1, 1, 1, 1, 1, 1, 1, 1};
int B[9]={1, 1, 1, 1, 1, 1, 1, 1, 1};
int C[9];
int i;
multiply(&C, A, B, 3);
for (i=0; i < 9; i++) {
printf("%d ", C[i]);
}
printf("/n");
multiply2(&C, A, B, 3);
for (i=0; i < 9; i++) {
printf("%d ", C[i]);
}
getch();
}
- 实现两个N*N矩阵的乘法,矩阵由一维数组表示
- C#实现两个N*N矩阵的乘法,矩阵必须由一维数组表示
- 两个N*N矩阵的乘法,矩阵由一维数组表示
- 实现两个N*N矩阵的乘法,矩阵由一维数组表示
- <google面试题>实现两个N*N矩阵的乘法,矩阵由一维数组表示
- 实现两个N*N矩阵的乘法,矩阵由一维数组表示
- 谷歌面试:实现两个N*N矩阵的乘法,矩阵由一维数组表示
- 实现两个N*N矩阵的乘法,矩阵由一维数组表示
- 实现两个N*N矩阵的乘法,矩阵由一维数组表示
- 现两个N*N矩阵的乘法,矩阵由一维数组表示
- 实现两个N*N矩阵的乘法,矩阵由一维数组表示
- 实现两个N*N矩阵的乘法,矩阵由一维数组表示
- 实现两个N*N矩阵的乘法,矩阵由一维数组表示
- 面试题:实现两个N*N矩阵的乘法,矩阵由一维数组表示
- 实现两个N×N矩阵的乘法,矩阵由一维数组表示
- 实现两个N*N矩阵的乘法 矩阵用一维数组表示
- 实现两个N*N矩阵的乘法
- 两个N*N矩阵的乘法
- python assert dict 断言@对比@之递归断言
- c#枚举转化示例大全,数字或字符串转枚举
- Linux下的通用线程池创建
- 沉病孩子留遗嘱 父疏申请接济劫持红十字员农
- visual studio 连接 mysql 数据并读取 (数据类型转换问题)
- 两个N*N矩阵的乘法,矩阵由一维数组表示
- Linux系统下修改IP、DNS和路由配置
- ramdisk的使用
- 长连接实现Comet(转)
- 分层遍历二叉树
- 接收和发送广播
- 【总结】关于LWP的cookie
- 基于Web的系统测试方法
- inetcpl.cpl提示打开方式的问题