//矩阵基础

/*

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

题目:输入矩阵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;然后定义保存乘积矩阵的列,注意该列最大

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

乘以最后一列结束。

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

*/

C语言之基本算法33—矩阵的基本运算的更多相关文章

  1. 10个经典的C语言面试基础算法及代码

    10个经典的C语言面试基础算法及代码作者:码农网 – 小峰 原文地址:http://www.codeceo.com/article/10-c-interview-algorithm.html 算法是一 ...

  2. 数据结构C语言版 弗洛伊德算法实现

    /* 数据结构C语言版 弗洛伊德算法  P191 编译环境:Dev-C++ 4.9.9.2 */ #include <stdio.h>#include <limits.h> # ...

  3. 算法提高 矩阵乘法 区间DP

    这是神题,n <= 1000,如果是极限数据普通的n^3区间DP怎么可能过?可偏偏就过了. 刘汝佳大哥的训练指南上面说的存在nlgn的算法解决矩阵链乘问题,可是百度都找不到.... AC代码 # ...

  4. 【BZOJ1009】GT考试(KMP算法,矩阵快速幂,动态规划)

    [BZOJ1009]GT考试(KMP算法,矩阵快速幂,动态规划) 题面 BZOJ 题解 看到这个题目 化简一下题意 长度为\(n\)的,由\(0-9\)组成的字符串中 不含串\(s\)的串的数量有几个 ...

  5. 算法笔记_081:蓝桥杯练习 算法提高 矩阵乘法(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最 ...

  6. 0.数据结构(python语言) 基本概念 算法的代价及度量!!!

    先看思维导图: *思维导图有点简陋,本着循循渐进的思想,这小节的知识大多只做了解即可. *重点在于算法的代价及度量!!!查找资料务必弄清楚. 零.四个基本概念 问题:一个具体的需求 问题实例:针对问题 ...

  7. 蓝桥 ADV-232 算法提高 矩阵乘法 【区间DP】

      算法提高 矩阵乘法   时间限制:3.0s   内存限制:256.0MB      问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要 ...

  8. C语言版数据结构算法

    C语言版数据结构算法 C语言数据结构具体算法 https://pan.baidu.com/s/19oLoEVqV1I4UxW7D7SlwnQ C语言数据结构演示软件 https://pan.baidu ...

  9. Java实现 蓝桥杯 算法提高 矩阵乘法(暴力)

    试题 算法提高 矩阵乘法 问题描述 小明最近刚刚学习了矩阵乘法,但是他计算的速度太慢,于是他希望你能帮他写一个矩阵乘法的运算器. 输入格式 输入的第一行包含三个正整数N,M,K,表示一个NM的矩阵乘以 ...

随机推荐

  1. js j将数字每三位用逗号隔开的方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 【调试】如何使用javascript的debugger命令进行调试(重要)

    首先安装firebug,在firefox的扩展里搜索安装即可. 然后在页面中启用firebug中的脚本: 然后在网页某些位置加入debugger命令,比如如下页面代码: <!DOCTYPE ht ...

  3. Linux应用层的定时器Timer使用详解【转】

    转自:http://blog.csdn.net/wwwtovvv/article/details/8601528 版权声明:本文为博主原创文章,未经博主允许不得转载. linux下定时器的使用 -- ...

  4. android hook 框架 ADBI 简介、编译、运行

    Android so注入-libinject2 简介.编译.运行 Android so注入-libinject2  如何实现so注入 Android so注入-Libinject 如何实现so注入 A ...

  5. 华为上机测试题(MP3光标移动-java)

    PS:此题满分,可参考 描述: MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲.为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第 ...

  6. ***七牛跨域上传图片JS SDK

    SDK: http://developer.qiniu.com/code/v6/sdk/javascript.html#upload 上传 在页面中引入 plupload,plupload.full. ...

  7. laravel-u-editor工具栏语言切换的方法

    更改/config/app.php/locale,可支持en,zh_CN,zh_TW,我们一般设为zh_CN

  8. 使用 ElasticSearch Aggregations 进行统计分析

    https://blog.csdn.net/zxjiayou1314/article/details/53837719/

  9. ASP.NET Code First Update-Database

    问题描述: 复制了一个模块化的MVC5的项目,模块化的解释是说不同功能的模块分开来放的. 明确每个模块都是做什么工作的. 首先最基本的,就是根据Apps.Models模块来创建数据库了. 做法是卸载A ...

  10. 51nod 1090 3个数和为0【二分】

    1090 3个数和为0 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等.从 ...