当前位置: 代码迷 >> C语言 >> 在学数学,请会高数的朋友进来看看我理解是否对
  详细解决方案

在学数学,请会高数的朋友进来看看我理解是否对

热度:167   发布时间:2008-01-27 00:31:29.0
在学数学,请会高数的朋友进来看看我理解是否对
//关于矩阵的运算看看描述得是否对.
//谢谢!
[CODE]
#include <stdio.h>
#include <stdlib.h>
void printA(int X[][5]);                  //打印矩阵
void printT(int X[][3]);
void exps(int A[][], char ch, int B[][]); //矩阵运算
void T(int A[][], int C[][]);             //旋转矩阵
int main(void)
{
    int A[][5]={{1,2,3,4,5},
                {2,3,4,5,6},
                {3,4,5,6,7}
               };
              
    int B[][5]={{1,2,3,4,5},
                {2,3,4,5,6},
                {3,4,5,6,7}
               };
               
    int C[5][3]={{0,0,0}};
   
    printf("矩阵相加:\n");
    exps(A,'+',B);
    printA(A);
   
    printf("矩阵相减:\n");
    exps(A,'-',B);
    printA(A);
   
    printf("矩阵相乘:\n");
    exps(A,'*',B);
    printA(A);
   
    printf("矩阵相除:\n");
    exps(A,'/',B);
    printA(A);
   
    printf("旋转矩阵:\n");
    T(A,C);
    printT(C);
   
    system("pause");
    return 0;
}
//矩阵运算
void exps(int A[][5], char ch, int B[][5])
{
    int i=0,j=0;
    for(i=0; i<3; i++)
    {
        for(j=0; j<5; j++)
        {
            switch(ch)
            {
                case '+':     
                     A[i][j]=A[i][j]+B[i][j];
                     break;
                case '-':
                     A[i][j]=A[i][j]-B[i][j];
                     break;
                case '*':
                     A[i][j]=A[i][j]*B[i][j];
                     break;
                case '/':
                     A[i][j]=A[i][j]/B[i][j];
                     break;
                }
        }
    }
}
//旋转矩阵
void T(int A[][5], int C[][3])
{
     int i=0,j=0;
     for(i=0; i<5; i++)
     {
         for(j=0; j<3; j++)
         {
             C[i][j]=A[j][i];
         }
     }            
}
//打印矩阵
void printA(int X[][5])
{
    int i=0,j=0;
    for(i=0; i<3; i++)
    {   
       for(j=0; j<5; j++)
       {
           printf("%d\t",X[i][j]);
       }
       printf("\n");   
    }
}

void printT(int X[][3])
{
    int i=0,j=0;
    for(i=0; i<5; i++)
    {   
       for(j=0; j<3; j++)
       {
           printf("%d\t",X[i][j]);
       }
       printf("\n");   
    }
}

[/CODE]
搜索更多相关的解决方案: 数学  朋友  在学  

----------------解决方案--------------------------------------------------------
建议你先去看下矩阵的乘法规则!
建议你先去看下矩阵的乘法规则!
----------------解决方案--------------------------------------------------------
无语。。。。。。。。



----------------解决方案--------------------------------------------------------
这个是线性代数吧,
矩阵的乘除法还是挺麻烦的,你这个.....
貌似不是这么算得吧
----------------解决方案--------------------------------------------------------
呵呵...我就是不知道我这般的理解对否...所以来问问...
昨晚通宵下载了一个线代的视频教程,准备恶补!
----------------解决方案--------------------------------------------------------
线代~~~
----------------解决方案--------------------------------------------------------
  相关解决方案