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];
줄에서 읽기 액세스 위반
이라고 오류가 납니다.
어떻게 하면 될까요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력