二维数组删除指定值的元素C语言代码
时间: 2023-12-29 20:05:05 浏览: 115
删除数据中指定的所有元素-C语言辅导ppt
以下是一个示例代码,用于从一个二维数组中删除指定的元素:
```c
#include <stdio.h>
int main() {
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int target = 7;
int rows = sizeof(arr) / sizeof(arr[0]);
int cols = sizeof(arr[0]) / sizeof(arr[0][0]);
int new_arr[rows][cols];
int new_rows = 0;
for (int i = 0; i < rows; i++) {
int flag = 0;
for (int j = 0; j < cols; j++) {
if (arr[i][j] == target) {
flag = 1;
break;
}
}
if (!flag) {
for (int j = 0; j < cols; j++) {
new_arr[new_rows][j] = arr[i][j];
}
new_rows++;
}
}
printf("Original array:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("New array:\n");
for (int i = 0; i < new_rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", new_arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个示例代码中,我们假设有一个名为 `arr` 的二维数组,它包含了一些整数值。我们还假设有一个名为 `target` 的整数值,我们要从数组中删除所有等于 `target` 的元素。
为了做到这一点,我们使用了一个名为 `new_arr` 的新数组,它将保存删除后的结果。我们还使用了一个名为 `new_rows` 的计数器,它用于跟踪新数组中的行数。
我们遍历原始数组中的每一行,并在每一行中查找目标元素。如果我们找到了目标元素,我们设置一个名为 `flag` 的标志,并跳出循环。如果我们没有找到目标元素,我们将该行复制到新数组中,并增加 `new_rows` 的值。
最后,我们打印出原始数组和新数组的内容,以便进行比较。
阅读全文