C语言实现两个矩阵相乘
作者:我有点帅哦 发布时间:2023-07-22 12:41:20
标签:C语言,矩阵相乘
本文实例为大家分享了C语言实现两个矩阵相乘的具体代码,供大家参考,具体内容如下
程序功能:实现两个矩阵相乘的C语言程序,并将其输出
代码如下:
#include "stdafx.h"
#include "windows.h"
void Multi(int * left, int * right, int * result, int f1, int f2, int s1, int s2);
int main()
{
int i, j;
int a[4][3] =
{ {1,2,3},
{4,5,6},
{7,8,9},
{1,2,3}};
int b[3][3] =
{ { 1,2,3 },
{ 4,5,6 },
{7,8,9} };
//c矩阵为a矩阵与b矩阵的乘积
int c[4][3];
//计算两个矩阵相乘
Multi(a[0], b[0],c[0], 4, 3, 3, 3);
//输出c矩阵
for (i = 0; i < 4; i++)
{
for(j=0;j<3;j++)
printf("%4d ", c[i][j]);
printf("\n");
}
system("pause");
return 0;
}
//矩阵相乘算法,最后四个参数是两个相乘的矩阵的行数和列数
void Multi(int * left, int * right, int * result,int f1, int f2, int s1, int s2)
{
//int a[f1][f2], b[s1][s2], c[f1][s2];
//a[i][j]==a[i*f2+j]
//由矩阵相乘,要求f2=s1,以下用f2
for (int i = 0; i < f1; i++) //i表示第i行
{
for (int j = 0; j < s2; j++) //j表示第j列
{
result[i*f2 + j] = 0; //在这里 result[i][j] = result[i*f2+j];
for(int p=0;p<f2;p++)
{
result[i*f2 + j] +=left[i*f2+p]*right[p*f2+j];
}
}
}
}
运行结果:
来源:https://www.cnblogs.com/junjunjun123/archive/2018/05/20/9064985.html
0
投稿
猜你喜欢
- 1. 在原有工程目录右键-> new ->Module->:2. 选择library:3. 一路next,最后finish
- 背景今天面试字节算法岗时被问到的问题,让我用C++实现一个softmax函数。softmax是逻辑回归在多分类问题上的推广。大概的公式如下:
- 介绍什么是ThreadLocal?ThreadLocal叫做线程变量,用于在多线程环境下创建线程本地变量。通俗的讲,ThreadLocal可
- /// <summary> /// 遍历Co
- 一,FileWritter写入文件FileWritter, 字符流写入字符到文件。默认情况下,它会使用新的内容取代所有现有的内容,然而,当指
- requestFoucs();无效。requestFoucsFromTouch();无效。webview.setTouchListener;
- 合成聚合复用原则合成复用原则又称为组合/聚合复用原则(Composition/Aggregate Reuse Principle, CARP
- 简介前提条件:确保本机已经安装 VS Code。确保本机已安装 SSH client, 并且确保远程主机已安装 SSH server。VSC
- 初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂。今天本文就来
- 引语:工作中有时候需要在普通的对象中去调用spring管理的对象,但是在普通的java对象直接使用@Autowired或者@Resource
- Step1: 安装JDK并配置环境变量;Step2: 安装Gradle进入点击打开链接官网首页点击install gra
- 最近项目中要做一个带进度条的上传文件的功能,学习了AsyncTask,使用起来比较方便,将几个方法实现就行,另外做了一个很简单的demo,希
- 一、前言(吐槽+煽情+简介) &n
- Navigator 的 push 和 pop方法Navigator 导航器的 push 和 pop 方法可以携带参数在页面间传递,其他变形的
- mport java.text.DecimalFormat; DecimalFormat &nb
- 需求:有些时候,我们需要连接多个数据库,但是,在方法调用前并不知道到底是调用哪个。即同时保持多个数据库的连接,在方法中根据传入的参数来确定。
- 我们都知道,当RecyclerView数据源更新后,还需要通过adapter调用对应的方法,从而让RecyclerView重新绘制页面本次也
- 本文实例讲解了iOS从背景图中取色的代码,分享给大家供大家参考,具体内容如下实现代码:void *bitmapData; //内存空间的指针
- 当你在开发flutter应用的时候,有时会需要调用native的api,往往遇到flutter并没有相应的package, 这时候flutt
- C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,和time()函数。需要说明的是,iostream头文件