给定一个 n×m 的矩阵,对于 初始矩阵 中所有值为 1 的元素,重置其 所在行列 的所有元素为 0 ,最后输出整个修改后的矩阵。C++实现
时间: 2023-05-26 19:06:00 浏览: 132
矩阵计算器,C++实现
5星 · 资源好评率100%
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, m;
scanf("%d%d", &n, &m);
int **matrix = (int **) malloc(sizeof(int *) * n);
for (int i = 0; i < n; i++) {
matrix[i] = (int *) malloc(sizeof(int) * m);
for (int j = 0; j < m; j++) {
scanf("%d", &matrix[i][j]);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (matrix[i][j] == 1) {
for (int k = 0; k < m; k++) {
if (matrix[i][k] != 1) {
matrix[i][k] = 0;
}
}
for (int k = 0; k < n; k++) {
if (matrix[k][j] != 1) {
matrix[k][j] = 0;
}
}
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
for (int i = 0; i < n; i++) {
free(matrix[i]);
}
free(matrix);
return 0;
}
```
阅读全文