C语言实现子矩阵添加进父矩阵
时间: 2023-11-22 13:14:43 浏览: 32
以下是一个简单的C语言程序示例,实现将一个3x3的子矩阵添加到一个5x5的父矩阵的左上角:
```c
#include <stdio.h>
#define PARENT_ROWS 5
#define PARENT_COLS 5
#define SUB_ROWS 3
#define SUB_COLS 3
void add_submatrix(int parent[PARENT_ROWS][PARENT_COLS], int sub[SUB_ROWS][SUB_COLS], int row, int col) {
for (int i = 0; i < SUB_ROWS; i++) {
for (int j = 0; j < SUB_COLS; j++) {
parent[row+i][col+j] = sub[i][j];
}
}
}
int main() {
int parent[PARENT_ROWS][PARENT_COLS] = {0};
int sub[SUB_ROWS][SUB_COLS] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
add_submatrix(parent, sub, 0, 0);
printf("Parent matrix after adding submatrix:\n");
for (int i = 0; i < PARENT_ROWS; i++) {
for (int j = 0; j < PARENT_COLS; j++) {
printf("%d ", parent[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个例子中,我们定义了一个5x5的父矩阵和一个3x3的子矩阵。我们使用一个名为`add_submatrix`的函数来将子矩阵添加到父矩阵中。该函数接受三个参数:父矩阵、子矩阵和子矩阵在父矩阵中的起始行和列。在函数中,我们使用嵌套的循环来遍历子矩阵中的所有元素,并将它们复制到父矩阵的对应位置中。最后,我们在`main`函数中调用`add_submatrix`函数,并输出修改后的父矩阵。