//矩阵基础

/*

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

题目:输入矩阵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. Quartus 调试中的Nios 程序

    FPGA的程序通常包含硬件和软件两部分.正常情况下调试需要分别进行下载,过程繁琐. 为了将Nios II的软件程序包含到.sof文件中方便调试,可以在SOPC Builder中的RAM初始化为Nios ...

  2. PHP开发笔记(一)

    Location of the Android sdk has not been setup in the preference. 分析与解决: 第一次安装好adt后, 选择android sdk的路 ...

  3. UML笔记(3):顺序图、Sequence Diagram

    http://www.cnblogs.com/xueyuangudiao/archive/2011/09/22/2185364.html 目录 含义 要素: 1 活动者 2 对象 3 生命线 4 控制 ...

  4. 在iOS上实现一个简单的日历控件

    http://blog.csdn.net/jasonblog/article/details/21977481 近期需要写一个交互有点DT的日历控件,具体交互细节这里略过不表. 不过再怎么复杂的控件, ...

  5. system call hooking 系统调用增加或劫持

    1. 引言:这篇文章提供了一种增加自定义系统调用或劫持原有的系统调用的实现方法,只针对 linux 系统.主要思路是获取系统调用表 sys_call_table 地址,然后用新函数地址覆盖系统调用表某 ...

  6. request_mem_region 与 ioremap【转】

    转自:http://blog.csdn.net/alada007/article/details/7700125 如果从根本上说起的话应该从Intel的处理器芯片与其它的芯片的不同说起,与这两个函数相 ...

  7. Linux getcwd()的实现【转】

    转自:http://www.cnblogs.com/alan-forever/p/3721908.html 通过getcwd()可以获取当前工作目录. 1 #include <unistd.h& ...

  8. android与PC直连的socket问题

    关键字:abdroid 模拟器 socket 突然有人说使用android的模拟器做socket服务器,PC做客户端,使用UDP通信的时候,android端无法收到数据包.反过来没问题,我觉得这怎么可 ...

  9. nvm: node版本管理工具

    安装nvm   curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash node 版本切 ...

  10. rabbitmq web管理页面无法访问

    安装rabbitmq 之后可以通过默认的15672端口访问web界面进行管理,rabbitmq一些默认端口如下: 4369: epmd, a peer discovery service used b ...