矩阵相乘2

来源:互联网 发布:Mac打开hosts文件 编辑:程序博客网 时间:2024/06/05 04:40

描述: 

题目描述:

矩阵相乘

输入:两个N*N阶矩阵相乘

输出:结果矩阵

样例输入:

{1, 2, 3}, {4, 5, 6}, {7, 8, 9}

{1, 2, 3}, {4, 5, 6}, {7, 8, 9}

样例输出:

{30, 36, 42}, {66, 81, 96}, {102, 126, 150}

 

接口说明:

原型:

int matrix(int **MatrixA, int **MatrixB, int **MatrixC, int N);

输入参数:

   int **MatrixA  指向二维数组A

int **MatrixB  指向二维数组A

int N            二维数组大小

输出参数:

    int **MatrixC

返回值:0:成功  1:失败 


代码:

#include "oj.h"#include<stdlib.h>#include<stdio.h>/*功能: 矩阵相乘    输入: MatrixA,MatrixB    输出: MatrixC返回: 0     */int matrix(int **MatrixA, int **MatrixB, int **MatrixC, int N){if(MatrixA == NULL || MatrixB == NULL || MatrixC == NULL || N <= 0)return -1;int a,b;for(int i = 0;i < N;++i){for(int j = 0;j < N;++j){*((int*)MatrixC + i * N + j) = 0;for(int k = 0;k < N;++k){a = *((int*)MatrixA + i * N + k);b = *((int*)MatrixB + k * N + j);*((int*)MatrixC + i * N + j) +=  a * b;}}}return 0;}




0 0
原创粉丝点击