Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เพื่อค้นหาองค์ประกอบเฉพาะในอาร์เรย์


ปัญหา

ค้นหาองค์ประกอบที่ไม่ซ้ำในอาร์เรย์โดยใช้สองลูป หนึ่งสำหรับองค์ประกอบปัจจุบันและอีกส่วนหนึ่งคือการตรวจสอบว่าองค์ประกอบนั้นมีอยู่แล้วในอาร์เรย์หรือไม่

วิธีแก้ปัญหา

ลองพิจารณาตัวอย่างด้านล่าง −

15, 15, 16, 15, 13, 15

ในที่นี้ อิลิเมนต์ที่ไม่ซ้ำในอาร์เรย์คือ 16 และ 13

อัลกอริทึม

อ้างถึงอัลกอริทึมที่ระบุด้านล่างเพื่อค้นหาองค์ประกอบที่ไม่ซ้ำหรือที่ไม่ซ้ำในอาร์เรย์

ขั้นตอนที่ 1 - ประกาศอาร์เรย์และป้อนองค์ประกอบอาร์เรย์ในเวลาทำงาน

ขั้นตอนที่ 2 - เริ่มสำรวจอาร์เรย์และตรวจสอบว่าองค์ประกอบปัจจุบันมีอยู่แล้วในอาร์เรย์หรือไม่

ขั้นตอนที่ 3 - หากมีอยู่แล้วในอาร์เรย์ ให้ย้ายไปยังองค์ประกอบถัดไปในอาร์เรย์และดำเนินการต่อ

ขั้นตอนที่ 4 - หากไม่เป็นเช่นนั้น ให้ส่งออกองค์ประกอบเป็นองค์ประกอบที่ไม่ซ้ำ

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C สำหรับค้นหาองค์ประกอบที่ไม่ซ้ำหรือองค์ประกอบที่ไม่ซ้ำในอาร์เรย์ -

#include <stdio.h>
#include <stdlib.h>
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