#include<stdio.h>
void main()
{
int A[4]={1, 2, 3, 4};
int B[4]={2, 4, 5, 6};
int i, j, check; //j, check 추가
int temp[8]; //배열의 모든 원소 임시 저장
int C[8]; //A와 B의 교집합
int D[8]; // A와 B의 합집합
int nD=0;
// 이 부분에 작성
//A와 B의 교집합을 구해서 C배열에 저장
for(i=0; i<4; i++)
for(j=0; j<4; j++)
if(A[i] == B[j])
{
C[nD++] = A[i];
break;
}
//A와 B의 원소를 모두 temp에 저장
for(i=0; i<4; i++)
temp[i] = A[i];
for(j=0; j<4; j++)
temp[i+j] = B[j];
for(i=0; i<4; i++)
for(j=0; j<4; j++)
if(A[i] == B[j])
{
C[nD++] = A[i];
break;
}
//A와 B의 원소를 모두 temp에 저장
for(i=0; i<4; i++)
temp[i] = A[i];
for(j=0; j<4; j++)
temp[i+j] = B[j];
nD = 0; //nD 초기화
//루프를 돌면서 교집합과 원소가 같으면 check 1로 되어 저장을 안하고
//나머지 원소만 저장함
for(i=0; i<8; i++)
{
check = 0;
//나머지 원소만 저장함
for(i=0; i<8; i++)
{
check = 0;
for(j=0; j<2; j++)
if(temp[i] == C[j])
check = 1;
if(temp[i] == C[j])
check = 1;
if(check == 0)
D[nD++] = temp[i];
}
D[nD++] = temp[i];
}
//나머지 교집합 원소 저장
for(i=0; i<2; i++)
D[nD++] = C[i];
for(i=0; i<2; i++)
D[nD++] = C[i];
//배열 출력
printf("A와 B의 합집합={");
for(i=0; i<nD; i++)
printf("%d, ", D[i]);
printf("}");
}
printf("A와 B의 합집합={");
for(i=0; i<nD; i++)
printf("%d, ", D[i]);
printf("}");
}
허접한 소스 ㅠ 머리가 나쁜갑다;
'아카이브' 카테고리의 다른 글
| 델파이 및 C++ 빌더 파일 확장자 비교 (0) | 2009.06.24 |
|---|---|
| 간단한 템플릿 함수 예제 (0) | 2008.12.09 |
| 컴퓨터 부팅이 안될때...먼저 확인해 볼 것!! (5) | 2008.08.22 |
| Update Panel Control Trigger (0) | 2008.07.15 |
| [펌]< LPSTR, LPCSTR / LPTSTR, LPCTSTR > - 문자열의 종류를 나타내는 자료형 (0) | 2007.08.12 |