怎样实现矩阵的转置和乘法?解决办法

怎样实现矩阵的转置和乘法???
用C 语言实现矩阵的转置运算和矩阵的乘法运算,。


------解决方案--------------------
用二维数组,这应该是二维数组应用的基本问题,那些基础教材上面应该有相应的练习题,楼主可以去找找答案哦,当然,直接百度可能会更快,呵呵~
------解决方案--------------------
我就写一个矩阵乘法吧,另一个LZ自己想啦,都是很简单的

C/C++ code
#include <iostream>
using namespace std;

int main()
{
    int m, n, o, p;
    int sum, i, j, k;
    sum = i = j = k = 0;
    int first[100][100], second[100][100];
    cout << "输入第一个矩阵的维数: ";
    cin >> m >> n;
    cout << "输入第二个矩阵的维数: ";
    cin >> o >> p;
    while(1)
    {
        if(n != o)
        {
            cout << "两个矩阵不匹配,不同相乘。\n请输入第二个矩阵的维数: ";
            cin >> o >> p;
        }
        else
            break;
    }

    cout << "请输入第一个矩阵: " << endl;
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            cin >> first[i][j];

    cout << "请输入第二个矩阵: " << endl;
    for(i=0;i<o;i++)
        for(j=0;j<p;j++)
            cin >> second[i][j];

    cout << "第一个矩阵: " << endl;
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
            cout << first[i][j] << "\t";
        cout << endl;
    }

    cout << "第二个矩阵: " << endl;
    for(i=0;i<o;i++)
    {
        for(j=0;j<p;j++)
            cout << second[i][j] << "\t";
        cout << endl;
    }

    cout << endl << "两个矩阵相乘的结果是:" << endl;
    for(i=0;i<m;i++)
    {
        while(k < p)
        {
            for(j=0;j<o;j++)
                sum = first[i][j] * second[j][k] + sum;
            cout << sum << "\t";
            k++;
            sum = 0;
        }
        k = 0;
        cout << endl;
    }

    return 0;
}

------解决方案--------------------
矩阵连乘是个经典的动态规划问题,普通的矩阵乘法Google一下可以找到n多源代码。。。。
------解决方案--------------------
要看你用什么存储结构存储的,就有不同的算法
------解决方案--------------------
矩阵转置有个所谓的巧办法,
就是,给矩阵中的每个元素赋上(行,列)信息,
则原矩阵是按先行再列的顺序排序;
而转置矩阵是按先列再行的顺序排序