C++补充程序代码....

来源:百度知道 编辑:UC知道 时间:2024/06/15 08:35:22
template<typename T>
void Mult(T **a,T **b,T **c,int m,int n,int p)
{//m x n矩阵a与n x p 矩阵b相乘得到c
for(int i=0; i<m; i++)
for(int j=0; j<p; j++){
T sum = 0;
for(int k=0; k<n; k++)
sum += a[i][k] * b[k][j];
c[i][j] = sum;
}
}

用主函数调用这个函数模板,主函数该怎样写?c应该申请多少内存?

求前辈们帮帮菜鸟...
主函数有输入矩阵和输出矩阵功能...

就这样写,都是基本用法,希望举一反三:

template<typename T>
void Mult(T **a,T **b,T **c,int m,int n,int p)
{//m x n矩阵a与n x p 矩阵b相乘得到c
for(int i=0; i<m; i++)
for(int j=0; j<p; j++){
T sum = 0;
for(int k=0; k<n; k++)
sum += a[i][k] * b[k][j];
c[i][j] = sum;
}
}

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int m, n, p;

scanf( "%d", &m);
scanf( "%d", &n);
scanf( "%d", &p);

int **A, **B, **C;

A = (int**)malloc( m*sizeof(int*));
B = (int**)malloc( n*sizeof(int*));
C = (int**)malloc( m*sizeof(int*));

for ( int i=0; i<m || i<n; i++)
{
if ( i<m )
{
A[i] = (int*)malloc( n*sizeof(int));
C[i] = (int*)malloc( p*sizeof(int));
}