Write a C program to Delete duplicate elements in an array.

Function Main
    Declare Integer ssize, i, j, k
    Output "Enter the total number of elements:"
    Input ssize
    Declare Integer Array arr[ssize]
    Output "Enter the elements of list:"
    For i = 0 to ssize - 1
        Output "Element n" & ToString(i + 1)
        Input arr[i]
    End
    Call OrderArrayInt(arr)
    Output "Array list after deleted duplicate elements:"
    For i = 0 to ssize - 1
        Assign j = i + 1
        While j < ssize
            If arr[j] = arr[i]
                For k = j to (ssize - 1) - 1
                    Assign arr[k] = arr[k + 1]
                End
                Assign ssize = ssize - 1
            Else
                Assign j = j + 1
            End
        End
    End
    For i = 0 to ssize - 1
        Output arr[i]
    End
End

Function OrderArrayInt (Integer Array a)
    Declare Integer n, j, i, tmp
    Assign n = size(a)
    For i = 0 to n - 1
        Assign j = 0
        For j = i + 1 to n - 1
            If a[j] < a[i]
                Assign tmp = a[j]
                Assign a[j] = a[i]
                Assign a[i] = tmp
            End
        End
    End
End

#include <stdio.h> 

void orderArrayInt(int[], int);

int main() {
    //!showArray(arr)
    int ssize, i, j, k;
    printf("Enter the total number of elements:\n");
    scanf("%d", &ssize);
    int arr[ssize];
    printf("Enter the elements of list:\n");
    for (i = 0; i <= ssize - 1; i++) {
        printf("Element n%d:", i + 1);
        scanf("%d", &arr[i]);
    }
    orderArrayInt(arr, ssize);
    printf("Array list after deleted duplicate elements:\n");
    for (i = 0; i <= ssize - 1; i++) {
        j = i + 1;
        while (j < ssize) {
            if (arr[j] == arr[i]) {
                for (k = j; k <= ssize - 1 - 1; k++) {
                    arr[k] = arr[k + 1];
                }
                ssize = ssize - 1;
            } else {
                j = j + 1;
            }
        }
    }
    for (i = 0; i <= ssize - 1; i++) {
        printf("%d\n", arr[i]);
    }
    return 0;
}

void orderArrayInt(int a[], int n) {
    int j, i, tmp;
    for (i = 0; i <= n - 1; i++) {
        j = 0;
        for (j = i + 1; j <= n - 1; j++) {
            if (a[j] < a[i]) {
                tmp = a[j];
                a[j] = a[i];
                a[i] = tmp;
            }
        }
    }
} 

Enter the total number of elements:
5
Enter the elements of list:
Element n1:1
Element n2:1
Element n3:2
Element n4:2
Element n5:3
Array list after deleted duplicate elements:
1
2
3

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.