为了更好地理解,我们始终建议您学习下面列出的C语言编程基础主题
矩阵是以行和列格式排列的一组值。在此 C 程序中,我们需要检查两个矩阵是否相等。为了检查两个矩阵是否相等,我们首先需要检查两个矩阵的阶数是否相等;如果矩阵的阶数不相等,那么我们就无法比较这些矩阵。
矩阵的阶数是指矩阵拥有的列数和行数。示例:如果矩阵 A 有 **5** 行和 **2** 列,那么矩阵的阶数就是 **5*2**。
该程序的逻辑是首先声明两个矩阵 A 和 B。然后从用户那里读取矩阵 A 和 B 的阶数。使用 `for 循环` 读取矩阵 A 和 B 的元素。然后检查矩阵的阶数是否相等。如果矩阵的阶数相等,那么我们就可以进行比较。否则显示矩阵无法比较。通过使用嵌套的 `for 循环` 检查矩阵 A 的每个元素与矩阵 B 的元素进行比较。如果所有元素都相等,则设置 **Flag=1**,否则 **Flag=0**。如果 **Flag==1** 则显示两个矩阵相等,否则显示两个矩阵不相等。
步骤1:包含头文件以使用C语言程序中的内置函数。
步骤 2: 将矩阵 A、B 声明为整数类型。
步骤 3: 声明整数变量 i,j,R1,C1,R2,flag。
步骤 4: 设置 flag=1。
步骤 5: 将矩阵 A 的阶数读入变量 R1 和 C1。
步骤 6: 将矩阵 B 的阶数读入变量 R2 和 C2。
步骤 7: 使用 for 循环 读取矩阵 A 的元素。
步骤 8: 使用 for 循环 读取矩阵 B 的元素。
步骤 9: 使用 for 循环 显示矩阵 A。
步骤 10: 使用 for 循环 显示矩阵 B。
步骤 11: 然后检查如果 R1 == R2 && C1 == C2,则执行步骤 12。否则执行步骤 19。
步骤 12: 设置 i=0。
步骤 13: 检查 i
步骤 14: 设置 j=0。
步骤 15: 检查 j
步骤 16: 检查 if(A[i][j] != B[i][j]),如果为真,则设置 flag=0 并转到步骤
步骤 17: 将 j 增加 1 并执行步骤 15。
步骤 18: 将 i 增加 1 并重复步骤 13。
步骤 19: 如果行和列不相等,则显示“无法比较”并退出。
步骤 20: 如果 flag==1,则显示两个矩阵相等。
步骤 21: 如果 flag==0,则显示两个矩阵不相等。
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main() {
int A[10][10], B[10][10];
int i, j, R1, C1, R2, C2, flag = 1;
printf("Enter the order of the matrix A\n");
scanf("%d %d", & R1, & C1);
printf("Enter the order of the matrix B\n");
scanf("%d %d", & R2, & C2);
printf("Enter the elements of matrix A\n"); /* accept the elements of first matrix */
for (i = 0; i < R1; i++) {
for (j = 0; j < C1; j++) {
scanf("%d", & A[i][j]);
}
}
printf("Enter the elements of matrix B\n"); /* accept the elements of second matrix */
for (i = 0; i < R2; i++) {
for (j = 0; j < C2; j++) {
scanf("%d", & B[i][j]);
}
}
printf("MATRIX A is\n");
for (i = 0; i < R1; i++) {
for (j = 0; j < C1; j++) {
printf("%d", A[i][j]);
}
printf("\n");
}
printf("MATRIX B is\n"); /* prints the elements of second matrix */
for (i = 0; i < R2; i++) {
for (j = 0; j < C2; j++) {
printf("%d", B[i][j]);
}
printf("\n");
}
if (R1 == R2 && C1 == C2) /* Comparing two matrices for equality */ {
printf("Matrices can be compared\n");
for (i = 0; i < R1; i++) {
for (j = 0; j < C2; j++) {
if (A[i][j] != B[i][j]) {
flag = 0;
break;
}
}
}
} else {
printf(" Cannot be compared\n");
exit(1);
}
if (flag == 1)
printf("Two matrices are equal\n");
else
printf("But,two matrices are not equal\n");
}
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 Enter the elements of matrix B 1 2 3 4 MATRIX A is 1 2 3 4 MATRIX B is 1 2 3 4 Matrices can be compared Two matrices are equal