为了更好地理解,我们始终建议您学习下面列出的C语言编程基础主题
这是一个 C 语言程序,用于求两个矩阵的和与差。矩阵是数字或元素的集合,我们将其排列成行和列。矩阵中的每个数字都称为元素。在这个 C 语言程序中,我们必须对矩阵进行加法和减法运算,为此,第一个条件是矩阵的阶数必须相等。为了进行加法或减法,我们必须将“A”中的每个元素与“B”中对应的元素相加或相减,即“sum[i][j] = A[i][j] + B[i][j]”。
为了在这个 C 语言程序中实现该逻辑,我们通过调用函数 readmatA() 和 readmatB() 从客户端获取两个矩阵。通过调用函数 printmatA() 和 printmatB() 显示矩阵。然后检查矩阵的阶数是否相等。如果矩阵的阶数不相似,则将显示“无法进行加法和减法。”否则调用函数 sum() 和 diff() 对矩阵 A 和 B 执行加法和减法。
算法
步骤 1:包含头文件以在 C 语言程序中使用内置函数。
步骤 2:声明数组 A[][]、B[][]、summat[][]、diffmat[][]。
步骤 3:声明一些整数变量 i、j、R1、C1、R2、C2。
步骤 4:声明函数 readmatA()、printmatB()、readmatB()、printmatB()、sum()、diff()。
步骤 5:将矩阵 A 的阶数读入 R1 和 C1。
步骤 6:将矩阵 B 的阶数读入 R2 和 C2。
步骤 7:检查是否 R1 != R2 && C1 != C2,如果成立则显示无法进行加法和减法并退出。否则执行步骤 8。
步骤 8:使用 readmatA() 读取矩阵 A 的元素。
步骤 9:然后使用 printmatA() 显示矩阵 A。
步骤 10:使用 readmatB() 读取矩阵 B 的元素。
步骤 11:然后使用 printmatB() 显示矩阵 B。
步骤 12:调用函数 sum()。
步骤 13:调用函数 diff()。
步骤 1:设置 i=0。
步骤 2:使用 for 循环检查 i
步骤 3:设置 j=0。
步骤 4:使用另一个 for 循环检查 j
步骤 5:将数字读入 A[i][j]。
步骤 6:将 j 递增 1 并重复步骤 4。
步骤 7:将 'i' 递增 1 并重复步骤 2。
步骤 1:设置 i=0。
步骤 2:使用 for 循环检查 i
步骤 3:设置 j=0。
步骤 4:使用另一个 for 循环检查 j
步骤 5:将数字读入 B[i][j]。
步骤 6:将 'j' 递增 1 并重复步骤 4。
步骤 7:将 'i' 递增 1 并重复步骤 2。
步骤 1:设置 i=0。
步骤 2:使用 for 循环检查 i
步骤 3:设置 j=0。
步骤 4:使用另一个 for 循环检查 j
步骤 5:显示 A[i][j]。
步骤 6:将 'j' 递增 1 并重复步骤 4。
步骤 7:将 'i' 递增 1 并重复步骤 2。
步骤 1:设置 i=0。
步骤 2:使用 for 循环检查 i
步骤 3:设置 j=0。
步骤 4:使用另一个 for 循环检查 j
步骤 5:显示 B[i][j]。
步骤 6:将 j 递增 1 并重复步骤 4。
步骤 7:将 'i' 递增 1 并重复步骤 2。
步骤 1:设置 i=0。
步骤 2:使用 for 循环检查 i
步骤 3:设置 j=0。
步骤 4:使用另一个 for 循环检查 j
步骤 5:Sumat[i][j] = A[i][j] + B[i][j]
步骤 6:将 j 递增 1 并重复步骤 4。
步骤 7:将 'i' 递增 1 并重复步骤 2。
步骤 8:显示“和矩阵是。”
步骤 9:设置 i=0。
步骤 10:使用 for 循环检查 i
步骤 11:设置 j=0。
步骤 12:使用另一个 for 循环检查 j
步骤 13:显示 sumat[i][j]。
步骤 14:将 j 递增 1 并重复步骤 12。
步骤 15:将 'i' 递增 1 并重复步骤 10。
步骤 1:设置 i=0。
步骤 2:使用 for 循环检查 i
步骤 3:设置 j=0。
步骤 4:使用另一个 for 循环检查 j
步骤 5:Diffmat[i][j] = A[i][j] - B[i][j]。
步骤 6:将 j 递增 1 并重复步骤 4。
步骤 7:将 'i' 递增 1 并重复步骤 2。
步骤 8:显示“差矩阵是。”
步骤 9:设置 i=0。
步骤 10:使用 for 循环检查 i
步骤 11:设置 j=0。
步骤 12:使用另一个 for 循环检查 j
步骤 13:显示 diffmat[i][j]。
步骤 14:将 j 递增 1 并重复步骤 12。
步骤 15:将 'i' 递增 1 并重复步骤 10。
#include <stdio.h>
#include <stdlib.h>
int A[10][10], B[10][10], sumat[10][10], diffmat[10][10];
int i, j, R1, C1, R2, C2;
void main() {
void readmatA(); /* Function declarations */
void printmatA();
void readmatB();
void printmatB();
void sum();
void diff();
printf("Enter the order of the matrix A\n");
scanf("%d %d", & R1, & C1);
printf("Enter the order of the matrix B\n"); /* enter the order of matrix */
scanf("%d %d", & R2, & C2);
if (R1 != R2 && C1 != C2) {
printf("Addition and subtraction are not possible\n");
exit(1);
} else {
printf("Enter the elements of matrix A\n"); /* enter the elements of the matrix */
readmatA();
printf("MATRIX A is\n");
printmatA();
printf("Enter the elements of matrix B\n");
readmatB();
printf("MATRIX B is\n");
printmatB();
sum();
diff();
}
}
/* main() */
void readmatA() /* Function to read a matrix A */ {
for (i = 0; i < R1; i++) {
for (j = 0; j < C1; j++) {
scanf("%d", & A[i][j]);
}
}
return;
}
void readmatB() /* Function to read a matrix B */ {
for (i = 0; i < R2; i++) {
for (j = 0; j < C2; j++) {
scanf("%d", & B[i][j]);
}
}
}
void printmatA() /* Function to print a matrix A */ {
for (i = 0; i < R1; i++) {
for (j = 0; j < C1; j++) {
printf("%d", A[i][j]);
}
printf("\n");
}
}
void printmatB() /* Function to print a matrix B */ {
for (i = 0; i < R2; i++) {
for (j = 0; j < C2; j++) {
printf("%d", B[i][j]);
}
printf("\n");
}
}
void sum() /*Function to find the sum of elements of matrix A and Matrix B*/ {
for (i = 0; i < R1; i++) {
for (j = 0; j < C2; j++) {
sumat[i][j] = A[i][j] + B[i][j];
}
}
printf("Sum matrix is\n");
for (i = 0; i < R1; i++) {
for (j = 0; j < C2; j++) {
printf("%d", sumat[i][j]);
}
printf("\n");
}
return;
}
void diff() /*Function to find the difference of elements of matrix A and Matrix B*/ {
for (i = 0; i < R1; i++) {
for (j = 0; j < C2; j++) {
diffmat[i][j] = A[i][j] - B[i][j];
}
}
printf("Difference matrix is\n");
for (i = 0; i < R1; i++) {
for (j = 0; j < C2; j++) {
printf("%d", diffmat[i][j]);
}
printf("\n");
}
return;
}
Enter the order of the matrix A 2 2 Enter the order of the matrix B 2 2 Enter the elements of matrix A 1 2 3 4 MATRIX A is 1 2 3 4 Enter the elements of matrix B 2 4 6 8 MATRIX B is 2 4 6 8 Sum matrix is 3 6 9 12 Difference matrix is -1 -2 -3 -4