Computer >> Máy Tính >  >> Lập trình >> lập trình C

Viết chương trình C để xóa các số trùng lặp trong một mảng

Cho phép người dùng nhập các số vào một mảng chứa các phần tử trùng lặp.

Bây giờ, hãy viết mã để xóa các số hoặc phần tử lặp lại trong một mảng và tạo một mảng có các phần tử duy nhất không trùng lặp

Ví dụ:

Một ví dụ được giải thích bên dưới -

  • Đầu vào của người dùng là 12, 30, 12, 45, 67, 30.
  • Đầu ra là 12, 30, 45, 67 (sau khi xóa các bản sao).

Chương trình

Sau đây là chương trình C để xóa các số trùng lặp trong một mảng -

#include <stdio.h>
#define MAX 100 // Maximum size of the array
int main(){
   int array[MAX]; // Declares an array of size 100
   int size;
   int i, j, k; // Loop variables
   /* Input size of the array */
   printf("enter the size of array : ");
   scanf("%d", &size);
   /* Input elements in the array */
   printf("Enter elements in an array : ");
   for(i=0; i<size; i++){
      scanf("%d", &array[i]);
   }
   /*find the duplicate elements in an array:
   for(i=0; i<size; i++){
      for(j=i+1; j<size; j++){
         /* If any duplicate found */
         if(array[i] == array[j]){
            /* Delete the current duplicate element */
            for(k=j; k<size; k++){
               array[k] = array[k + 1];
            }
            /* Decrement size after removing duplicate element */
            size--;
            /* If shifting of elements occur then don't increment j */
            j--;
         }
      }
   }
   printf("\nArray elements after deleting duplicates : ");/*print an array after deleting the duplicate elements.
   for(i=0; i<size; i++){
      printf("%d\t", array[i]);
   }
   return 0;
}

Đầu ra

Kết quả như sau -

enter the size of array : 10
Enter elements in an array : 23 12 34 56 23 12 56 78 45 56
Array elements after deleting duplicates : 23 12 34 56 78 45