C言語で一次元配列の重複値を削除する方法を教えてください。

多次元配列から重複した値を削除する方法を以下に示します。

  1. 重複なしの要素を入れる新しい配列を定義します。
  2. 元の配列を反復して、配列内の各要素を新しい配列の要素と比較し、新しい配列に存在しない場合は新しい配列に追加します。
  3. 重複のない要素は新しい配列に保存される。

以下にサンプルコードを示します。

#include <stdio.h>

#define MAX_SIZE 100

int main() {
    int arr[MAX_SIZE], uniqueArr[MAX_SIZE];
    int n, k = 0, isUnique;

    printf("Enter the size of the array: ");
    scanf("%d", &n);

    printf("Enter the elements of the array: ");
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    // Check for unique elements
    for (int i = 0; i < n; i++) {
        isUnique = 1;
        for (int j = 0; j < k; j++) {
            if (arr[i] == uniqueArr[j]) {
                isUnique = 0;
                break;
            }
        }
        if (isUnique) {
            uniqueArr[k++] = arr[i];
        }
    }

    printf("Array after removing duplicates: ");
    for (int i = 0; i < k; i++) {
        printf("%d ", uniqueArr[i]);
    }

    return 0;
}

まず、配列のサイズと要素を入力します。そして配列を走査し、重複しない要素を新しい配列に保存して、新しい配列の要素を最後に結果として出力します。

bannerAds