C 程序来查找数组中的唯一元素。
问题
使用两个循环查找数组中的非重复元素。一个用于当前元素,另一个用于检查元素是否已经存在于数组中。
解决方案
考虑下面给出的例子-
15、15、16、15、13、15
这里,数组中的非重复元素是16和13。
算法
请参阅下面给出的算法以查找数组中的唯一或非重复元素。
Step1-声明一个数组并在运行时输入数组元素。
Step2-开始遍历数组并检查当前元素是否已经存在于数组中。
步骤3-如果它已经存在于数组中,则移动到数组中的下一个元素并继续。
步骤4-如果不是,则将元素输出为非重复元素。
示例
以下是用于查找数组中唯一或非重复元素的C程序-
#include输出结果#include int uniqueEle(int array[], int n){ int i,j; int count = 1; for(i = 0; i < n; i++){ for(j = 0; j < n; j++){ if(array[i] == array[j] && i != j) break; } if(j == n ){ printf("\nunique elements in an array is [%d] : %d \n",count,array[i]); ++count; } } return -1; } int main(){ int n,i; printf("\nEnter no: of elements : "); scanf("%d",&n); int array[n]; printf("\nenter the array elements : "); for(i = 0; i < n; i++){ scanf("%d",&array[i]); } uniqueEle(array, n); return 0; }
执行上述程序时,它会产生以下输出-
Run 1: Enter no: of elements: 5 enter the array elements : 11 11 15 16 13 unique elements in an array is [1] : 15 unique elements in an array is [2] : 16 unique elements in an array is [3] : 13 Run 2: Enter no: of elements: 4 enter the array elements : 11 12 11 11 unique elements in an array is [1] : 12