//矩阵基础

/*

==================================================================

题目:输入矩阵a,b,输出a,b,a的转置矩阵d。a*b,b+d=e;

==================================================================

*/

#include<stdio.h>

#define TJ1 for(i=0;i<2;i++)

#define TJ2 for(j=0;j<3;j++)

#define hh printf("\n")

void main()

{

int a[2][3],b[3][2],c[2][2],d[3][2],e[3][2];

int i,j,k;

//输入矩阵a

printf("输入2*3矩阵a:\n");

TJ1

TJ2

scanf("%d",&a[i][j]);

//输入矩阵b

printf("\n输入3*2矩阵b:\n");

TJ2

TJ1

scanf("%d",&b[j][i]);

//输出矩阵a:

printf("\n=====================\n输出矩阵a:\n");

TJ1

{

TJ2

printf("%4d",a[i][j]);

hh;

}

printf("\n=====================\na的转置矩阵d:\n");

TJ1

TJ2

d[j][i]=a[i][j];

TJ2

{

TJ1

printf("%4d",d[j][i]);

printf("\n");

}

//输出矩阵b:

printf("\n\n=====================\n输出矩阵b:\n");

TJ2

{

TJ1

printf("%4d",b[j][i]);

hh;

}

//矩阵a*矩阵b,保存至c

for(i=0;i<2;i++)

for(j=0;j<2;j++)

{

c[i][j]=0;

for(k=0;k<3;k++)

c[i][j]+=a[i][k]*b[k][j];

}

//输出矩阵c:

printf("\n=====================\n矩阵a[2][3]*b[3][2]=c[2][2],例如以下:\n");

for(i=0;i<2;i++)

{

for(j=0;j<2;j++)

printf("%4d ",c[i][j]);

printf("\n");

}

printf("\n=====================\n矩阵b+矩阵d:\n");

TJ2

TJ1

e[j][i]=b[j][i]+d[j][i];

TJ2

{

TJ1

printf("%4d ",e[j][i]);

hh;

}

}

/*

====================================================================

评:

1、掌握输出时换行的方法;

2、转置矩阵时将原矩阵行和列交换。a[i][j]-->d[j][i],原来是2行3列,如今以3行两列输出!

i=0;i<3;i++;\j=0;j<2;j++;i和j仅仅是符号,不影响结果。仅仅是输出时与d[行][列]相应起来就好。

3、加法非常easy,但必须是通行矩阵;

4、乘法比較复杂,先定义初始矩阵。赋初值=0;然后定义保存乘积矩阵的列,注意该列最大

值为左矩阵的列,然后左行*右列,先列添加,然后换下一行,反复以上步骤,直至最后一行

乘以最后一列结束。

=====================================================================

*/

最新文章

  1. (转)利用libcurl获取新浪股票接口, ubuntu和openwrt实验成功(三)
  2. ABP框架 - 领域服务
  3. java多线程之hashmap concurrenthashmap的状态同步
  4. Linq系列
  5. Xcode7创建的项目添加启动图有问题?
  6. 20145211 《Java程序设计》第10周学习总结——昨夜星辰昨夜风
  7. CentOS防火墙操作实例(启动、停止、开、闭端口)
  8. uva 10560 - Minimum Weight(数论)
  9. 《JavaScript 闯关记》之表达式和运算符
  10. ASP.NET vNext (一)- 基本概念和环境配置
  11. Java面试14|Session与Cookie
  12. [Luogu2852][USACO06DEC]牛奶模式Milk Patterns
  13. MQTT在react-native中的运行
  14. python3 time模块
  15. Entity Framework入门教程(12)--- EF进行批量添加/删除
  16. windows多线程同步--事件
  17. 兼容低版本 ie 的思路
  18. loadrunner脚本001
  19. CURL 常用参数
  20. MFC 三种消息

热门文章

  1. mysql 游标的嵌套使用示例
  2. eclipse块编辑
  3. Cocos2d-x中图字原理之深入分析
  4. 手动破解的 Linux下的Maltab 2014b
  5. 如何防止Android反编译
  6. Weblogic 监控工具汇总及简介
  7. AC日记——Little Elephant and Function codeforces 221a
  8. FTP-Filezilla首次配置
  9. 纯CSS实现轮播图效果,你不知道的CSS3黑科技
  10. RandomeAccessFile - read write