반응형
다음 코드는 C언어로 합집합(union)을 구하는 코드입니다.
#include <stdio.h>
#define MAX_SIZE 100
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int unionArrays(int arr1[], int size1, int arr2[], int size2, int result[]) {
int i, j, k;
// arr1의 요소들을 결과 배열에 복사
for (i = 0; i < size1; i++) {
result[i] = arr1[i];
}
k = size1; // 결과 배열의 마지막 인덱스
// arr2의 요소들을 결과 배열에 추가 (중복 요소는 제외)
for (i = 0; i < size2; i++) {
int duplicate = 0;
for (j = 0; j < size1; j++) {
if (arr2[i] == arr1[j]) {
duplicate = 1;
break;
}
}
if (!duplicate) {
result[k] = arr2[i];
k++;
}
}
return k;
}
int main() {
int arr1[] = { 1, 2, 3, 4, 5 };
int size1 = sizeof(arr1) / sizeof(arr1[0]);
int arr2[] = { 4, 5, 6, 7, 8 };
int size2 = sizeof(arr2) / sizeof(arr2[0]);
int result[MAX_SIZE];
int n = unionArrays(arr1, size1, arr2, size2, result);
printf("A: ");
printArray(arr1, size1);
printf("B: ");
printArray(arr2, size2);
printf("A+B: ");
printArray(result, n);
return 0;
}
반응형
'C_C++' 카테고리의 다른 글
(C언어) ASCII Code (아스키 코드) 출력 (0) | 2023.05.29 |
---|---|
(C언어) 교집합 구하기 (0) | 2023.05.28 |
(C언어) 동전 교환 프로그램 (0) | 2023.05.28 |
(C언어) 컴퓨터와 대결하는 틱택토 tic-tac-toe 게임 소스 (0) | 2023.05.27 |
(C언어) 배열에서 3번째 큰 값 구하기 (정렬을 사용하지 않고) (0) | 2023.05.26 |