将二维数组中相同的数删除,输出结果 c语言
时间: 2023-12-13 16:02:33 浏览: 82
C语言链表的相同元素的删除
好的,我来为您解答这个问题。
假设我们有一个二维数组 `arr`,现在需要删除其中相同的数,并输出结果。可以按照以下步骤操作:
1. 定义一个新数组 `new_arr` 用于存储不重复的数,以及一个变量 `count` 用于记录 `new_arr` 中已经存储的数的个数,初始化为 0。
2. 遍历二维数组 `arr`,对于每个元素,检查它是否已经出现在 `new_arr` 中。如果已经出现,则跳过;否则,将它添加到 `new_arr` 中,并将 `count` 加 1。
3. 输出 `new_arr` 中的元素。
代码如下:
```c
#include <stdio.h>
#define ROW 3
#define COL 4
int main() {
int arr[ROW][COL] = {{1, 2, 3, 4}, {2, 3, 4, 5}, {3, 4, 5, 6}};
int new_arr[ROW * COL];
int count = 0;
// 遍历二维数组,将不重复的数存储到 new_arr 中
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
int is_duplicate = 0;
for (int k = 0; k < count; k++) {
if (arr[i][j] == new_arr[k]) {
is_duplicate = 1;
break;
}
}
if (!is_duplicate) {
new_arr[count] = arr[i][j];
count++;
}
}
}
// 输出不重复的数
printf("不重复的数为:\n");
for (int i = 0; i < count; i++) {
printf("%d ", new_arr[i]);
}
printf("\n");
return 0;
}
```
这里我们假设二维数组中的元素都是正整数。如果元素可以是任意类型,可以考虑使用结构体来存储每个元素的值和出现次数,然后按照出现次数为 1 的元素输出结果。
阅读全文