C程序 将两个矩阵相加

首先,写一个程序可以将两个矩阵相加,需要按照以下步骤进行:

  1. 定义两个矩阵,并初始化数据
  2. 定义一个结果矩阵
  3. 遍历两个矩阵,并将对应元素相加,然后存放到结果矩阵中
  4. 输出结果矩阵

下面是一个标准的C程序代码示例:

#include <stdio.h>
#define ROW 2
#define COL 2
void matrix_add(int matrix1[][COL], int matrix2[][COL], int result[][COL]);

int main()
{
    int matrix1[ROW][COL] = {{1, 2},
                             {3, 4}};

    int matrix2[ROW][COL] = {{5, 6},
                             {7, 8}};

    int result[ROW][COL];

    matrix_add(matrix1, matrix2, result);

    for (int i = 0; i < ROW; i++)
    {
        for (int j = 0; j < COL; j++)
        {
            printf("%d ", result[i][j]);
        }
        printf("\n");
    }

    return 0;
}

void matrix_add(int matrix1[][COL], int matrix2[][COL], int result[][COL])
{
    for (int i = 0; i < ROW; i++)
    {
        for (int j = 0; j < COL; j++)
        {
            result[i][j] = matrix1[i][j] + matrix2[i][j];
        }
    }
}

该代码定义了一个2x2的矩阵,并将其与另外一个2x2的矩阵相加,并将结果存放在另一个矩阵中,最后输出结果矩阵。

下面再给出一个两个矩阵大小不一致的示例:

#include <stdio.h>
#define ROW1 2
#define COL1 3
#define ROW2 3
#define COL2 2
void matrix_add(int matrix1[][COL1], int matrix2[][COL2], int result[][COL2], int row1, int col1, int row2, int col2);

int main()
{
    int matrix1[ROW1][COL1] = {{1, 2, 3},
                               {4, 5, 6}};

    int matrix2[ROW2][COL2] = {{7, 8},
                               {9, 10},
                               {11, 12}};

    int result[ROW1][COL2];

    matrix_add(matrix1, matrix2, result, ROW1, COL1, ROW2, COL2);

    for (int i = 0; i < ROW1; i++)
    {
        for (int j = 0; j < COL2; j++)
        {
            printf("%d ", result[i][j]);
        }
        printf("\n");
    }

    return 0;
}

void matrix_add(int matrix1[][COL1], int matrix2[][COL2], int result[][COL2], int row1, int col1, int row2, int col2)
{
    if (row1 != row2 || col1 != col2)
    {
        printf("The size of matrices is not the same!");
        return;
    }

    for (int i = 0; i < row1; i++)
    {
        for (int j = 0; j < col2; j++)
        {
            result[i][j] = matrix1[i][j] + matrix2[i][j];
        }
    }
}

该代码定义了一个2x3的矩阵和一个3x2的矩阵,将它们相加得到一个2x2的结果矩阵,并输出。在函数中加入防御性编程,若两个矩阵的行列数不相等则输出错误信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C程序 将两个矩阵相加 - Python技术站

(0)
上一篇 2023年5月9日
下一篇 2023年5月9日

相关文章

  • 将List对象列表转换成JSON格式的类实现方法

    将List对象列表转换成JSON格式,一般使用JSON工具库实现,如Jackson和Gson。下面将分别介绍Jackson和Gson两个库的实现方法。 Jackson 步骤一:导入Jackson库 在pom.xml文件中添加以下依赖: <dependencies> <dependency> <groupId>com.fas…

    C 2023年5月23日
    00
  • Java Set简介_动力节点Java学院整理

    Java Set简介 Set的概念 Set是Java中的一种容器,可以存储不重复的元素。每个元素在Set中只存在一次,因此可以用Set来过滤重复元素,同时也可以判断一个元素是否在Set中存在。 Set的特点 不允许存储重复元素。 不存在顺序,不保证元素的顺序恒定。 元素可以为null。 可以存储不同类型的元素。 Set的实现类 Java中常见的Set接口的实…

    C 2023年5月22日
    00
  • C++中的自增与自减

    C++中的自增(++)和自减(–)是一对重要的运算符,可以用于对变量的值进行加或减1操作。在本文中,我们将详细讲解这两个运算符的使用方法和注意事项。 自增运算符 ++ 前置自增运算符 前置自增运算符(++i)会先将变量i的值加1,然后再将增加后的值返回。下面是一个示例: int i = 5; int j = ++i; // i 现在的值为 6,j 的值也为…

    C 2023年5月23日
    00
  • C语言实现电脑关机程序

    下面是完整的攻略。 C语言实现电脑关机程序 介绍 电脑关机程序是一种可以让计算机系统自动关机的软件程序。在 C 语言中,我们可以使用系统函数来实现这个功能。本文将介绍 C 语言实现电脑关机程序的步骤。 步骤 第一步:引入头文件 在 C 语言中,我们需要引入头文件 windows.h 来使用系统函数。 #include <windows.h> 第二…

    C 2023年5月23日
    00
  • C++如何动态的生成对象详解

    C++如何动态的生成对象详解 在 C++ 中我们可以使用 new 关键字来动态的生成一个对象,然而有时候我们需要在程序运行时根据一些特定条件创建一组对象,这时候就需要用到动态生成对象的方法。 1. 动态生成对象的基本方法 在 C++ 中,我们可以通过调用构造函数来创建一个对象,因此我们也可以通过在内存中创建对象的方式来动态生成对象。 首先需要使用 void*…

    C 2023年5月22日
    00
  • 浅谈C++如何求等差素数列

    浅谈C++如何求等差素数列 什么是等差数列? 等差数列指的是数列中后一项与前一项的差值相等的数列,这个公差可以为任何实数。例如,1,3,5,7,9就是一个公差为2的等差数列。 什么是素数? 素数指的是只能被1和自身整除的正整数,例如2,3,5,7,11都是素数,而4,6,8,9都不是素数。素数是一个重要且基础的数学概念,在计算机领域中经常被用到。 怎样求等差…

    C 2023年5月23日
    00
  • C语言程序环境编译+链接理论

    C语言程序的编译与链接是程序开发的重要环节之一,理解这一过程对于程序员来说是至关重要的。下面是一个完整攻略,分为以下几个步骤: 步骤一:编辑程序 在开始编译和链接之前,我们需要先编写C语言程序。这一步通常通过文本编辑器,如vscode、sublime等完成。我们以Hello World程序为例,来说明这一步。 #include <stdio.h>…

    C 2023年5月30日
    00
  • vs2005编译时出现C2859错误该怎么办?

    题目中提到的C2859错误是VS2005编译器出现的一种错误,主要是因为编译器没有足够的内存来处理源代码的语法。 解决方法如下: 方法一: 打开项目工程,找到Solution Explorer中的“.vcxproj”文件。 在文件夹中找到“ClCompile”节点,将“AdditionalOptions”项目的信息更改为“/Zm300”。 重新编译项目。 这…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部