KiKi得到了两个n行m列的矩阵,他想知道两个矩阵是否相等,请你回答他。(当两个矩阵对应数组元素都相等时两个矩阵相等)。
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"并换行。
2 2 1 2 3 4 1 2 3 4
Yes
#include<stdio.h> void My_scanf(int arr[10][10],int n,int m) { int i = 0; int j = 0; for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d ",&arr[i][j]); } } } int Compare(int arr1[10][10],int arr2[10][10],int n, int m) { int i = 0; int j = 0; for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(arr1[i][j]!=arr2[i][j]) { return 0; } } } return 1; } int main() { int n = 0; int m = 0; scanf("%d %d",&n,&m); int arr1[10][10]; int arr2[10][10]; My_scanf(arr1,n,m); My_scanf(arr2,n,m); int ret = Compare(arr1,arr2,n,m); if(ret==1) printf("Yes\n"); else printf("No\n"); return 0; }
#include <stdio.h> int main() { int m, n; scanf("%d %d", &m, &n); int arr1[m][n], arr2[m][n]; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { scanf(" %d", &arr1[i][j]); } } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { scanf(" %d", &arr2[i][j]); } } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (arr1[i][j] != arr2[i][j]) { printf("No\n"); return 0; } } } printf("Yes\n"); return 0; }
#include <stdio.h> int main() { int n,m; scanf("%d %d", &n, &m); int a[10][10],b[10][10]; //检查输入 if(n >10 || m > 10) { perror("scanf-n-m fail"); return -1; } //输入数据 for(int i = 0; i < n; i ++) { for(int j = 0; j< m; j++) { scanf("%d", &a[i][j]); } } for(int i = 0; i < n; i ++) { for(int j = 0; j< m; j++) { scanf("%d", &b[i][j]); } } //检查数据 for(int i = 0; i < n; i ++) { for(int j = 0; j< m; j++) { //有一个不同即为不同 if(a[i][j] != b[i][j]) { printf("No\n"); return 0; } } } printf("Yes\n"); return 0; }
#include <stdio.h> #include <malloc.h> int main() { int n = 0; int m = 0; int i = 0; int j = 0; int* p1 = NULL; int* p2 = NULL; scanf("%d%d", &n, &m); //开辟空间 p1 = (int*)malloc(sizeof(int) * n *m); if(!p1) { perror("malloc:p1"); return 1; } p2 = (int*)malloc(sizeof(int) * n * m); if(!p2) { perror("malloc:p2"); return 1; } //录入数据 for(i = 0; i < n; i++)//数列1 { for(j = 0; j < m; j++) { scanf("%d", p1 + (i * m) + j); } } for(i = 0; i < n; i++)//数列2 { for(j = 0; j < m; j++) { scanf("%d", p2 + (i * m) + j); //相等判断 if(*(p2 + (i * m) + j) != *(p1 + (i * m) + j)) { printf("No\n"); goto end; } } } printf("Yes\n"); end: free(p1); free(p2); p1 = NULL; p2 = NULL; return 0; }
#include <stdio.h> int main() { int n, m; scanf("%d %d", &n, &m); int arr_1[n][m]; for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ scanf("%d", &arr_1[i][j]); } } int arr_2[n][m], tag=0; for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ scanf("%d", &arr_2[i][j]); if(arr_2[i][j] != arr_1[i][j]){ tag++; break; } } if(tag != 0){ break; } } if(tag == 0){ printf("Yes\n"); }else{ printf("No\n"); } return 0; }
#include <stdio.h> #include<stdlib.h> int main() { int m,n,a[15][15],b[15][15]; scanf("%d %d",&m,&n); for(int i=0;i<m;i++){ for(int j=0;j<n;j++)scanf("%d",&a[i][j]);//输入第一个矩阵 } for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ scanf("%d",&b[i][j]);//输入第二个矩阵 if(b[i][j]!=a[i][j]){ printf("No\n"); exit(0);//若当前输入的值与第一个矩阵不同,则输出No,且立刻退出程序 } } } printf("Yes");//若没有被判定为No,则输出Yes return 0; }
#include <stdio.h> //就是两个矩阵内容的对比 int main() { int n,m=0; int arr[100][100]; int acc[100][100]; int count=0; while(scanf("%d %d",&n,&m)!=EOF) { //第一个矩阵 for(int i = 0;i<n;i++) { for(int j = 0;j<m;j++) { scanf("%d",&arr[i][j]); } } //第二个矩阵 for(int i = 0;i<n;i++) { for(int j = 0;j<m;j++) { scanf("%d",&acc[i][j]); //获取到值后跟arr比较 if(arr[i][j]!=acc[i][j]) { count++; } } } if(count==0) { printf("Yes"); } else { printf("No"); } } return 0; }
#include <stdio.h> int main() { int n,m; scanf("%d %d",&n,&m); int i; int arr[n][m]; for(i=0;i<n;i++)//第一个矩阵的输入 { int j; for(j=0;j<m;j++) { scanf("%d ",arr[i]+j); } } int flag = 1; int aee[n][m]; for(i=0;i<n;i++)//第二个矩阵的输入 { int j; for(j=0;j<m;j++) { scanf("%d ",aee[i]+j); if(arr[i][j] != aee[i][j]) { flag = 0; } } } if(flag == 1) { printf("Yes"); } else { printf("No"); } return 0; }
#include <stdio.h> int main() { int a, b; int sum = 0; scanf("%d %d", &a, &b); int num = a * b; int x[num], y[num]; for (int i = 0; i < num; i++) { scanf("%d", &x[i]); } for (int i = 0; i < num; i++) { scanf("%d", &y[i]); } for (int i = 0; i < num; i++) { if (x[i] == y[i]) sum++; } if (sum == num) printf("Yes\n"); else printf("No\n"); return 0; }
#include <stdio.h> int main() { int n = 0,m = 0; int arr[11][11] = {0},arr2[11][11] = {0}; scanf("%d%d",&n,&m); for(int i = 1;i<=n;i++)//输入 { for(int j = 1;j<=m;j++) { scanf("%d",&arr[i][j]); } } for(int i = 1;i<=n;i++)//输入 { for(int j = 1;j<=m;j++) { scanf("%d",&arr2[i][j]); } } for(int i = 1;i<=n;i++)//比较 { for(int j = 1;j<=m;j++) { if(arr[i][j]!=arr2[i][j]) { printf("No"); return 0; } } } printf("Yes"); return 0; }
#include <stdio.h> int main() { int n =0,m =0; scanf("%d%d",&n,&m); int arr1[100][100] = {0}; int arr2[100][100] = {0}; int i =0; int j =0; for(i =0;i<n;i++){ for(j=0;j<m;j++){ scanf("%d",&arr1[i][j]); } } for(i =0;i<n;i++){ for(j =0;j<m;j++){ scanf("%d",&arr2[i][j]); } } int flag = 1; for(i =0;i<n;i++){ for(j =0;j<m;j++){ if(arr1[i][j]!=arr2[i][j]){ flag = -1; break; } } } if(flag == -1){ printf("No\n"); } else printf("Yes\n"); return 0; }
#include <stdio.h> int main() { int n=0,m=0,i=0,j=0; int arr1[10][10]; int arr2[10][10]; int flag=1; scanf("%d %d",&n,&m); for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d",&arr1[i][j]); } } for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d",&arr2[i][j]); } } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(arr1[i][j]!=arr2[i][j]) { flag=0; break; } } if(flag==0) { break; } } if(flag==0) { printf("No\n"); } else { printf("Yes\n"); } return 0; }