精华内容
下载资源
问答
  • C语言矩阵乘法代码

    2020-07-29 19:22:49
    本文给出一个C语言矩阵乘法代码,感性趣的朋友可以参考下。
  • C语言 矩阵乘法

    2018-04-16 12:57:41
    矩阵运算时,逐行逐列相乘再相加,因此对于二维矩阵,需要两个for循环来求解,第一个for循环指定行,第二个...运用C语言进行二维矩阵乘法运算代码如下:#include<stdio.h>#define M 3#define N 4#defi...

           矩阵运算时,逐行逐列相乘再相加,因此对于二维矩阵,需要两个for循环来求解,第一个for循环指定行,第二个for循环指定列。除此之外,定义一个变量k来标识A的行中个元素以及标识B的列中个元素。通过k的增加来遍历A的行中的元素和遍历B的列中的元素。

    运用C语言进行二维矩阵乘法运算代码如下:

    #include<stdio.h>

    #define M 3
    #define N 4
    #define P 5


    int main()
    {
    int i, j, k;
    int a[M][N], b[N][P], c[M][P];
    printf("a=\n");
    for (i = 0; i < M; i++)

    for (j = 0; j < N;j++)
    scanf("%d", &a[i][j]);
    }
    printf("b=\n");
    for (j = 0; j < N; j++)
    {
    for (k = 0; k < P; k++)
    scanf("%d", &b[j][k]);
    }


    for (i = 0; i < M; i++)
    {
    for (k = 0; k < P; k++)
    c[i][k] = 0;
    }


    for (i = 0; i < M; i++)
    {
    for (j = 0; j < N; j++)
    for (k = 0; k < P; k++)
    {
    c[i][k] += a[i][j] * b[j][k];
    }

    }


    printf("c=\n");
    for (i = 0; i < M; i++)
    {
    for (k = 0; k < P; k++)
    printf("%d ", c[i][k]);
    printf("\n");
    }
    return 0;

    }

    展开全文
  • C语言strassen矩阵乘法代码

    热门讨论 2012-04-05 01:01:03
    strassen矩阵乘法的C代码 【问题描述】 从文件arr.in中读入一个m行k列的整数矩阵a和一个k行n列的整数矩阵b(1 , k, n ),在标准输出上输出这两个矩阵的乘积。 【输入形式】 输入文件arr.in中有m+k行,前m...
  • 从文件arr.in中读入一个m行k列的整数矩阵a和一个k行n列的整数矩阵b(1 , k, n ),在标准输出上输出这两个矩阵的乘积。 【输入形式】 输入文件arr.in中有m + k + 1行,前m行是矩阵a的元素aij,第m + 1行是空行...
  • C语言矩阵乘法代码
  • c语言矩阵乘法

    千次阅读 2020-05-08 10:59:52
    c语言矩阵乘法 #include<stdio.h> int main() { int a[2][4], b[4][3], c[2][3]; int i, j, k, sum; 在这里插入代码片 printf(“输入一个2×4的矩阵:\n”); for(i=0;i<2;i++) //处理矩阵a中的一行中各...

    矩阵的乘法:

    两个矩阵只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义。一般单指矩阵乘积时,指的便是一般矩阵乘积。一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。

    运算规则:

    将第一个矩阵的第i行的每个元素分别乘上第二个矩阵第j列的每个元素然后进项相加,得到的结果就为新矩阵的第i行第j列的元素。

    算法步骤:

    1、首先我们要定义三个二维数组来存储第一个矩阵、第二个矩阵和相乘后得到的新矩阵。
    2、对第一个、第二个矩阵的每个进行赋值(要注意的是我们需要让第一个矩阵的列数等于第二个矩阵的行数),然后将其打印出来。
    3、使用for循环语句,先遍历第二个矩阵的第j列的每一个元素,然后将其与第一个元素的第i列的每一个元素进行相乘并相加。将其运算后的结果放在对应第i行第j列的新数组中。
    4、再利用for循环将得到的新数组进行一个元素一个元素的输出。

    #include<stdio.h>
     int main()
    {   int a[2][4], b[4][3], c[2][3];
        int i, j, k, sum; 
        printf("输入一个2×4的矩阵:\n"); 
        for(i=0;i<2;i++)                    //处理矩阵a中的一行中各元素
        	for(j=0;j<4;j++)               //处理矩阵a中某一列中各元素
    			scanf("%d",&a[i][j]);   //输入数据
    	printf("输入一个4×3的矩阵;\n"); 
    	for(i=0;i<4;i++)                   //处理矩阵b中的一行中各元素
    		for(j=0;j<3;j++)               //处理矩阵b中某一列中各元素
    			scanf("%d",&b[i][j]);    //输入数据
    	for(i=0;i<2;i++)                 //对矩阵c进行处理
    	{	for(j=0;j<3;j++)             
    		{	sum=0;
    			for(k=0;k<4;k++)   //矩阵c中每一个元素的循环计算
    			{   
    			  sum+=a[i][k]*b[k][j]; //对矩阵c中的某一元素进行计算
    			}
    			c[i][j]=sum;           //给矩阵c中的某一元素进行赋值
    		}	
    	}
    	printf("得到一个2×3的矩阵:\n");
    	for(i=0;i<2;i++)            //输出矩阵c
    	{
    		for(j=0;j<3;j++)	 
     			printf("%5d",c[i][j]);
     		printf("\n");
    		 }
    }
    

    在这里插入图片描述以上的代码中只是一个特殊的例子,我们可以将2×4和4×3的矩阵改变成任意的n×m的矩阵

    展开全文
  • C语言-矩阵乘法

    2019-07-24 13:37:32
    C语言-矩阵乘法代码 代码 #include<stdio.h> #include<string.h> int a[100][100];//初始矩阵 int c[100][100]= {0}; //上一次乘积 int d[100][100]= {0}; //每次结果 int n; int b; int m; int main...

    C语言-矩阵乘法

    代码

    #include<stdio.h>
    #include<string.h>
    
    int a[100][100];//初始矩阵
    int c[100][100]= {0}; //上一次乘积
    int d[100][100]= {0}; //每次结果
    int n;
    int b;
    int m;
    
    int main()
    {
        scanf ("%d %d %d",&n,&b,&m);
        void nyuu(int n);
        nyuu(n);//录入矩阵
        int i,j,p;
        for (i=0; i<n; i++)
        {
            for (j=0; j<n; j++)
            {
                c[i][j]=a[i][j];
            }
        }
        if (b==0)
        {
            for (i=0; i<n; i++)
                for (j=0; j<n; j++)
                {
                    if (i==j)
                        d[i][j]=1;
                }
        }//0次幂
        if (b==1)
        {
            for (i=0; i<n; i++)
            {
                int j;
                for (j=0; j<n; j++)
                {
                    printf ("%d ",a[i][j]%m);
                }
                printf("\n");
            }
            system("pause");
            return 0;
        }//1次幂
        if (b>1)
        {
            for(p=0; p<b-1; p++) //进行b-1次乘法计算
            {
                for (i=0; i<n; i++) //把c清零
                    for (j=0; j<n; j++)
                        d[i][j]=0;
                for (i=0; i<n; i++) //一次乘法
                {
                    for (j=0; j<n; j++) //将矩阵乘法的结果的同一行的每个元素分别录入到c矩阵的对应位置
                    {
                        int k;
                        for (k=0; k<n; k++)
                            d[i][j]+=c[i][k]*a[k][j];
                    }
                }
                for (i=0; i<n; i++)
                {
                    for (j=0; j<n; j++)
                    {
                        c[i][j]=d[i][j];
                    }
                }//到此完成一次乘法
            }
        }
        for (i=0; i<n; i++)
        {
            int j;
            for (j=0; j<n; j++)
            {
                printf ("%d ",d[i][j]%m);
            }
            printf("\n");
        }
        system("pause");
        return 0;
    }
    
    void nyuu(int n)//录入矩阵的函数
    {
        int i;
        for (i=0; i<n; i++)
        {
            int j;
            for (j=0; j<n; j++)
            {
                scanf ("%d",&a[i][j]);
            }
        }
    }
    
    
    展开全文
  • 矩阵乘法C语言代码

    万次阅读 2019-04-07 22:08:15
    printf("请输入第一个矩阵的行数和列数\n"); scanf("%d%d",&a_m,&a_n); for(int i=0;i;i++) for(int j=0;j;j++) scanf("%d",&a[i][j]); printf("请输入第二个矩阵的行数和列数\n"); scanf("%d%d",&b_m,&b_n);...
    #include<stdio.h>
    
    const int maxn=105;
    
    int a[maxn][maxn],b[maxn][maxn];
    int ans[maxn][maxn];
    int a_n,a_m,b_n,b_m;
    
    void mul(){
        for(int i=0;i<a_m;i++){
            for(int j=0;j<b_n;j++){
                for(int k=0;k<a_n;k++){
                    ans[i][j]+=a[i][k]*b[k][j];
                }
            }
        }
    }
    
    int main()
    {
        printf("请输入第一个矩阵的行数和列数\n");
        scanf("%d%d",&a_m,&a_n);
        for(int i=0;i<a_m;i++)
            for(int j=0;j<a_n;j++)
                scanf("%d",&a[i][j]);
        printf("请输入第二个矩阵的行数和列数\n");
        scanf("%d%d",&b_m,&b_n);
        for(int i=0;i<b_m;i++)
            for(int j=0;j<b_n;j++)
                scanf("%d",&b[i][j]);
    
        mul();
        printf("结果如下\n");
        for(int i=0;i<a_m;i++){
            for(int j=0;j<b_n;j++){
                printf("%d ",ans[i][j]);
            }
            putchar(10);
        }
        return 0;
    }

     

    展开全文
  • 题目是否有问题. m * n的矩阵和n * p的矩阵.相乘的结果应该是一个m * ...下面是代码:#include< stdio.h >main(){int m, n, p, i, j, k;int A[ 10 ][ 10 ], B[ 10 ][ 10 ], C[ 10 ][ 10 ];scanf("%d%d%d", &...
  • 在这里插入代码片@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 ...
  • 矩阵乘法C语言的实现

    2012-03-15 10:57:10
    介绍了一种简单的C语言来实现矩阵乘法,在该程序中详细给出了每一步的源代码,对C语言初学者很有帮助
  • /**/#include#include/*---------------------------------------------*/int n,m,c=0;int a[100][100],b[100][100];int fc[100][100];/*-------------------------------------------------*/void print();...
  • C语言实现一个矩阵乘法计算器 代码如下 虽然还有很多可以改进的地方,比如把输入矩阵做成函数以简化代码,不过本人初学能力有限,只想实现这样一个简单的小功能。 #include <stdio.h> int main(void) { int m...
  • 我有简单的Fortran代码,它将A = [1,1; 1,1]矩阵转换为CSR稀疏格式,然后将其乘以x =(100,200)作为向量,y = A * x。不幸的是,结果是奇怪的y =(200,200),而它应该是y =(300,300)向量。感谢。program mainimplicit ...
  •  用A的第i行分别和B的第j列的各个元素相乘求和,求得C的第i行j列的元素,这种算法中,B的访问是按列进行访问的,代码如下: void arymul(int a[4][5], int b[5][3], int c[4][3]) { int i, j, k; int
  • 代码: #include<stdio.h> #include<stdlib.h> #define MAXSIZE 1000 typedef struct{ int row;//第几行 int col;//第几列 int e;//存储的值 }Triple; typedef struct { Triple data[MAXSIZE]; int ...
  • 矩阵乘法 关键词 动态内存管理 编译器 mingw32-gcc/gcc5.1.0 重拾代码乐趣 很久没有写c了,主要是c写起来太啰嗦了,但如果能学会,还是很有快乐的 撸代码 #include <stdio.h> #include <stdlib.h> ...
  • 【蓝桥杯】基础练习 矩阵乘法C语言) 这道题使用暴力循环,其中有个规律得出的公式,推荐https://www.jianshu.com/p/dc67e4a3c841 这个网址,可以帮助你思考(而且这个网址还有另一种更简单的方法) 一下是代码...
  • 复数矩阵乘法C语言实现

    千次阅读 2013-05-05 16:25:09
    下面代码参考TI的实现:/* NAME */ /* DSPF_dp_mat_mul_cplx -- Complex matrix multiplication */ /*
  • 矩阵相乘的c语言代码

    2018-10-20 12:18:14
    矩阵相乘C语言代码,实现矩阵乘法的基本算法,就这要了
  • 我的C语言矩阵库01

    千次阅读 2017-10-23 19:45:45
    由于要在stm32上实现矩阵运算,所以结合网上代码实现了一个C语言矩阵库,进行一些矩阵的基本运算,包括:转置,加减,乘法,求逆,拼接等,测试环境是MDK5。先给出下载地址:点击这里。 首先是头文件math_matrix.h...
  • 使用模板类实现了矩阵的求逆,相乘,平移、旋转。c语言实现,上传的是工程,包含源代码,可编译,测试,参照计算机图形学
  • 目录标题思路代码 快蓝桥杯了,好久没刷题,连这个都不会了,还得看网上的资料,这几天写博客记录每天刷的算法题,奥利给! 标题 题目 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述  给定一个N阶矩阵A,...
  • 矩阵乘法和矩阵转置

    2018-10-27 16:20:06
    这是一个很简单的C语言小源代码,可以实现线代里的矩阵相乘和矩阵转置的功能,仅供新手参考
  • OpenCL矩阵乘法的例子

    2018-07-17 16:45:10
    前两篇博客中介绍过矩阵转置的两种方法,矩阵乘法可以先对矩阵做转置运算,然后再对应相乘;  矩阵大小是65*8192  先对8192*65的矩阵转置为65*8192;  然后由65个工作项,每个工作项负责一行数据的乘法;  完成...
  • 矩阵加 减 乘法C语言实现

    万次阅读 多人点赞 2018-10-11 17:08:30
    矩阵的加减法:就是对应位置相加减即可 对于满足以下条件的矩阵A,B: 我们有: 加法, ...矩阵乘法: ...下面的代码是输入两个矩阵,输出他们的乘 #include &lt;stdio.h&gt; int main(vo...

空空如也

空空如也

1 2 3 4 5 6
收藏数 118
精华内容 47
热门标签
关键字:

c语言矩阵乘法代码

c语言 订阅