c语言写出判断一个矩阵是另一个矩阵的子矩阵的代码
时间: 2023-12-02 18:03:50 浏览: 103
c语言编写的矩阵
以下是一个简单的 C 语言程序,用于判断一个矩阵是否是另一个矩阵的子矩阵:
```
#include <stdio.h>
#include <stdbool.h>
#define ROWS 3
#define COLS 3
bool is_submatrix(int matrix[ROWS][COLS], int submatrix[ROWS][COLS]) {
for (int i = 0; i <= ROWS - ROWS; i++) {
for (int j = 0; j <= COLS - COLS; j++) {
bool match = true;
for (int k = 0; k < ROWS; k++) {
for (int l = 0; l < COLS; l++) {
if (matrix[i + k][j + l] != submatrix[k][l]) {
match = false;
break;
}
}
if (!match) {
break;
}
}
if (match) {
return true;
}
}
}
return false;
}
int main() {
int matrix[ROWS][COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int submatrix[ROWS][COLS] = {{2, 3, 0}, {5, 6, 0}, {8, 9, 0}};
bool result = is_submatrix(matrix, submatrix);
if (result) {
printf("The submatrix was found in the matrix.\n");
} else {
printf("The submatrix was not found in the matrix.\n");
}
return 0;
}
```
该程序定义了两个矩阵,一个主矩阵和一个子矩阵。然后,它使用双重循环来遍历主矩阵中的每个可能的子矩阵,检查它是否与子矩阵完全匹配。如果找到了匹配的子矩阵,则返回 true,否则返回 false。
阅读全文