面试题:实现两个N*N矩阵的乘法,矩阵由一维数组表示

来源:互联网 发布:java系统开发 编辑:程序博客网 时间:2024/06/06 09:12

实现两个N*N矩阵的乘法,矩阵由一维数组表示

代码如下:

//实现两个N*N矩阵的乘法,矩阵由一维数组表示。#include<iostream>using namespace std;#define size 2int *multi(int *a, int *b, int N){int i, j, k, temp;int *c = (int *)malloc(N*N);  //动态内存分配,malloc函数向系统申请分配制定size个字节的内存空间for (i = 0; i < N; i++){for (j = 0; j < N; j++){temp = i*N + j;*(c + temp) = 0;for (k = 0; k < N; k++){*(c + temp) += a[i*N + k] * b[k*N + j];}cout << " " << *(c + temp);}}return c;}int main(){int a[size*size] = { 2, 1, 4, 3 };int b[size*size] = { 1, -1, 3, 2 };multi(a, b, size);//int c; cin >> c;system("pause");return 0;}


0 0
原创粉丝点击