【c语言】矩阵乘法

article/2025/9/23 3:22:42

【c语言】矩阵乘法

1.N*N矩阵
A[N][N]*B[N][N]=C[N][N]

#include<stdio.h>
#define N 2
int main()
{int A[N][N] = {}, B[N][N] = {}, C[N][N] = {};printf_s("请输入矩阵A:\n");int i, j;for (i = 0; i < N; i++) {for (j = 0; j < N; j++) {scanf_s("%d", &A[i][j]);}}printf_s("\n");printf_s("A[N][N]为:\n");for (i = 0; i < N; i++) {for (j = 0; j < N; j++) {printf_s("%d\t", A[i][j]);}printf_s("\n");}printf_s("\n");printf_s("请输入矩阵B:\n");for (i = 0; i < N; i++) {for (j = 0; j < N; j++) {scanf_s("%d", &B[i][j]);}}printf_s("\n");printf_s("B[N][N]为:\n");for (i = 0; i < N; i++) {for (j = 0; j < N; j++) {printf_s("%d\t", B[i][j]);}printf_s("\n");}for (i = 0; i < N; i++) {for (j = 0; j < N; j++) {for (int k = 0; k < N; k++) {/*矩阵乘法是A的行元素分别×B的列元素再相加【前提是A列数=B行数(不等的话无法一对一相乘),结果是C的行数=A的行数,C的列数=B的列数】,C的单个元素计算时i和j不变,变化的是k*/C[i][j] += A[i][k] * B[k][j];}}}printf_s("\n");printf_s("C[N][N]为:\n");for (i = 0; i < N; i++) {for (j = 0; j < N; j++) {printf_s("%d\t", C[i][j]);}printf_s("\n");}}

在这里插入图片描述
2.非N*N矩阵

#include<stdio.h>
#define N 100int main()
{int a, b, c;/*区分a,b,c关系*/printf_s("分别输入矩阵A的行和列以及矩阵B的列:\n");/*矩阵A的列数=矩阵B的行数*/scanf_s("%d %d %d", &a, &b, &c);int A[N][N] = {}, B[N][N] = {}, C[N][N] = {};printf_s("请输入矩阵A:\n");int i, j;for (i = 0; i < a; i++) {for (j = 0; j < b; j++) {scanf_s("%d", &A[i][j]);}}printf_s("\n");printf_s("A[a][b]为:\n");for (i = 0; i < a; i++) {for (j = 0; j < b; j++) {printf_s("%d\t", A[i][j]);}printf_s("\n");}printf_s("\n");printf_s("请输入矩阵B:\n");/*矩阵A的列数=矩阵B的行数*/for (i = 0; i < b; i++) {for (j = 0; j < c; j++) {scanf_s("%d", &B[i][j]);}}printf_s("\n");printf_s("B[b][c]为:\n");for (i = 0; i < b; i++) {for (j = 0; j < c; j++) {printf_s("%d\t", B[i][j]);}printf_s("\n");}for (i = 0; i < a; i++) {/*C的行数=A的行数,C的列数=B的列数*/for (j = 0; j < c; j++) {for (int k = 0; k < b; k++) {/*b个AB乘积之和=C矩阵元素*/C[i][j] += A[i][k] * B[k][j];}}}printf_s("\n");printf_s("C[a][c]为:\n");for (i = 0; i < a; i++) {for (j = 0; j < c; j++) {printf_s("%d\t", C[i][j]);}printf_s("\n");}}

在这里插入图片描述


http://chatgpt.dhexx.cn/article/2bDvcZMx.shtml

相关文章

C语言求矩阵的逆(伴随法)

之前介绍了C语言用代数余子式求行列式 本次开始介绍如何用公式法对矩阵求逆&#xff0c;并用C语言将其实现。 之前程序有点小bug&#xff0c;已于2022年11月29日修改。 更新&#xff1a; 伴随法只适合求低阶矩阵的逆&#xff0c;对于相对高阶&#xff08;20维以上&#xff09;对…

C语言 矩阵乘法

Description 给出m * n阶矩阵A&#xff0c;乘以n * p阶的矩阵B&#xff0c;得到一个m*p阶的矩阵C。矩阵乘法定义如下图所示。 Input 输入分为两部分&#xff1a;第一部分是三个整数m、n和p&#xff1b;后面为两个矩阵&#xff0c;分别是mn阶矩阵A和np阶矩阵B。m、n和p都不会超…

C语言矩阵库------Matrix

欢迎使用Matrix Matrix目前能实现矩阵的基本功能,例如:方阵行列式求解,矩阵的线性运算和矩阵相乘,矩阵求逆等等. 我会持续更新此库,需要的朋友可以进行下载。 V1.1版本10阶矩阵的行列式和逆矩阵求解对齐了matlab的精度&#xff0c;但是速度较慢。谨慎使用于高阶矩阵运算。 链…

使用C语言实现矩阵转置(稀疏矩阵)

目录 1.转置矩阵&#xff08;普通矩阵&#xff09; 2.转置矩阵&#xff08;稀疏矩阵&#xff09; &#xff08;1&#xff09;稀疏矩阵 &#xff08;2&#xff09;稀疏矩阵的压缩存储方式 &#xff08;3&#xff09;理论运算方法 1.转置矩阵&#xff08;普通矩阵&#xff0…

c语言矩阵

思路&#xff1a;开辟一个新的同样规格的矩阵b&#xff0c;并将其全部置1. 遍历矩阵a(原矩阵)&#xff0c;发现有0的就在b的此行此列中插入0 // // main.c // test // // Created by 神威 on 2018/9/11. // Copyright © 2018年 神威. All rights reserved. // #incl…

C语言-矩阵转置

描述 KiKi有一个矩阵&#xff0c;他想知道转置后的矩阵&#xff08;将矩阵的行列互换得到的新矩阵称为转置矩阵&#xff09;&#xff0c;请编程帮他解答。 输入描述&#xff1a; 第一行包含两个整数n和m&#xff0c;表示一个矩阵包含n行m列&#xff0c;用空格分隔。 (1≤n≤…

C语言对矩阵进行转置

对矩阵进行转置最重要的是值的交换&#xff0c;这里用到了二重数组 #include <stdio.h> #include <stdlib.h>int main() {int a[3][3]{1,2,3,4,5,6,7,8,9};//初始化一个矩阵出来int b[3][3]{0};for(int i0;i<2;i){for(int k0;k<2;k){b[k][i]a[i][k];//对矩…

C语言 - 矩阵转置

C语言 - 矩阵转置 输入NM的矩阵&#xff0c;输出它的转置矩阵。 Input 第一行为整数N&#xff0c;M&#xff08;1≤N&#xff0c;M≤100&#xff09;。 接着是一个NM的矩阵。 Output 转置矩阵。 Example Input 2 3 1 2 3 4 5 6 Example Output 1 4 2 5 3 6#include&l…

(C语言)求矩阵各行元素之和

本题来自pintia.cn 题目要求代码测试结果图PTA测试结果 题目要求 本题要求编写程序&#xff0c;求一个给定的mn矩阵各行元素之和。 输入格式&#xff1a; 输入第一行给出两个正整数m和n&#xff08;1≤m,n≤6&#xff09;。随后m行&#xff0c;每行给出n个整数&#xff0c;其间…

编写矩阵运算程序(C语言)

编写矩阵运算程序之C语言 1. 要求2 代码 1. 要求 a) 功能包括&#xff1a;矩阵加、矩阵减、矩阵乘、矩阵三角化 b) 实现方式1&#xff1a;函数的参数为&#xff1a;二维数组名、行数、列数 2 代码 #include<stdio.h> #define M 20 #define N 20 float A[M][N]; float…

C语言——矩阵转置

矩阵转置的原理&#xff1a;行元素变成列元素&#xff0c;列元素变成行元素 例如&#xff1a; 矩阵转置代码 #include<stdio.h> #include<malloc.h> #include<stdlib.h> #include<math.h>//矩阵转置 double** Matrix_T(double** arr) {if(arrNULL)e…

C语言实现矩阵的乘法

矩阵乘法作为算法题我觉得对我来说是比较难想的&#xff0c;而且作为没学线性代数的我来说&#xff0c;这简直就是场灾难&#xff0c;在我研究了书上及网上的有关资料后&#xff0c;我觉得自己应该差不多可以理解矩阵乘法的要领了&#xff0c;希望可以帮助大家&#xff1a;其实…

C语言矩阵运算

矩阵的乘法&#xff1a; 矩阵的列数&#xff08;column&#xff09;和第二个矩阵的行数&#xff08;row&#xff09;相同时 #include<stdio.h>int main() { int a[2][4], b[4][3], c[2][3];int i, j, k, sum; printf("输入一个24的矩阵&#xff1a;\n"); fo…

c语言矩阵的乘法

矩阵的乘法&#xff1a; 两个矩阵只有在第一个矩阵的列数&#xff08;column&#xff09;和第二个矩阵的行数&#xff08;row&#xff09;相同时才有意义。一般单指矩阵乘积时&#xff0c;指的便是一般矩阵乘积。一个mn的矩阵就是mn个数排成m行n列的一个数阵。 运算规则&#x…

C语言刷题小结---矩阵篇

电影黑客帝国有很多这样的场景 用矩阵表示我们看到的一切&#xff01; 而在编程中矩阵是用数组来表示的 目前小作者还只是学习编程的初学者&#xff0c;很多知识内容都还没有学习。但相信每一个学习编程的小伙伴在做C语言方面的练习时都会遇到有关矩阵相关的题目&#xff0c;…

《C语言》矩阵问题

一.矩阵乘法 1.定理&#xff1a; 两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。如A是mn矩阵和B是np矩阵&#xff0c;它们的乘积C是一个mp矩阵。 例如&#xff1a; 2.思路 1. i&#xff0c;j分别代表行和列&#xff0c;所以应该定义一个二维矩阵&…

C语言矩阵乘法

本篇内容 1&#xff09;首先介绍了矩阵乘法的基本原理&#xff1b; 2&#xff09;然后介绍了相对初阶的C语言乘法代码设计&#xff1b; 3&#xff09;最后根据C语言动态内存规划&#xff0c;提出了更加便捷、优化的代码设计&#xff0c;希望能给大家带来帮助。 更新&#xff1a…

c语言之矩阵

矩阵作为线性代数核心内容之一也是刷题人时常会遇到的一种类型。本篇博客简单介绍一下矩阵转置、上三角矩阵以及杨氏矩阵。 1.转置矩阵&#xff1a;输入m行n列的矩阵以n行m列的方式打印出来。只要将数组的行列进行交换即可&#xff0c;并不难想也不难写.&#xff08;相应练习&a…

vue-quill-editor 使用-图片上传

vue 项目开发中&#xff0c;文本编辑器的选择很多&#xff0c;一些熟悉的文本编辑器都可以使用&#xff0c;如UEditor、wangEditor&#xff0c;这里介绍基于 vue 的一个文本编辑器插件 vue-quill-editor 此插件基于 quill&#xff0c;所以使用 cdn 节点方式引用时&#xff0c;…