问题描述
描述
KiKi得到了两个n行m列的矩阵,他想知道两个矩阵是否相等,请你回答他。(当两个矩阵对应数组元素都相等时两个矩阵相等)。
输入描述:
第一行包含两个整数n和m,表示两个矩阵包含n行m列,用空格分隔。
从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
从n+2行到2n+1,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第二个矩阵中的元素。
1 < n,m < 10
输出描述:
一行,如果两个矩阵相等输出"Yes"并换行,否则输出"No"并换行。
示例1
输入:
2 2 (PS.2 行 2列)
1 2
3 4
1 2
3 4
输出:
Yes
问题分析
//思路:这是一个矩阵元素检索问题
解决方案
//解决方案:判断两个二维矩阵相等,
//建立输入函数build
//建立检索函数check
代码
#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1
//思路:这是一个矩阵元素检索问题
//解决方案:判断两个二维矩阵相等,
//建立输入函数build
//建立检索函数check
void build(int arr[10][10], int n, int m) //输入两个行列式的元素
{
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
scanf("%d", &arr[i][j]);
}
void check(int arr1[10][10], int arr2[10][10], int n, int m)
{
int flag = 1;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
if (arr1[i][j] != arr2[i][j])
flag = 0;
if (flag == 0)
printf("No\n");
else
printf("Yes\n");
}
int main()
{
//首先定义行列式
int n = 0, m = 0;
int arr_num = 2;
scanf("%d %d", &m, &n);
int arr1[10][10] = { 0 };
int arr2[10][10] = { 0 };
//输入两个行列式的元素
build(arr1, n, m);
build(arr2, n, m);
check(arr1, arr2, n, m);
return 0;
}