c언어 동적할당배열 중복 제거 질문입니다.

조회수 808회
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int cnt, i, j;
    printf("몇 개의 숫자를 입력하시겠습니까? : ");
    scanf_s("%d", &cnt);

    int* arr = (int*)malloc(sizeof(int)*cnt);
    int* arr2 = (int*)malloc(sizeof(int) * cnt);
    int n = 1;

    if (arr != NULL & arr2 != NULL) {

        for (i = 0; i < cnt; i++) {
            printf("%d번째 정수 입력 : ", i + 1);
            scanf_s("%d", &arr);
        }

        arr2[0] = arr[0];

        for (i = 0; i < cnt; i++) {
            for (j = 0; j < cnt; j++) {

                if (arr2[i] != arr[j]) {
                    arr2[i + 1] = arr[j];
                    n++;

                    break;
                }
            }
        }

        for (i = 0; i < n; i++) {
            printf("%d", &arr[i]);
        }

    }
    free(arr);
    free(arr2);

    return 0;

}

배열을 동적 메모리 할당으로 받아서, 중복되는 값을 제거하고 싶습니다. arr[0] = arr2[0]; 줄에서 읽기 액세스 위반이라고 오류가 납니다. 어떻게 하면 될까요?

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)