#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("}");
}
허접한 소스 ㅠ 머리가 나쁜갑다;
'Computer > Program' 카테고리의 다른 글
레오파드-Leo4All-10.5.2 Universal AMD/INTEL[SSE2/SSE3] (0) | 2008.03.26 |
---|---|
Windows XP USB Stick Edition (0) | 2008.03.24 |
[파일복구프로그램] Livedata Professional 2.0 (2) | 2008.03.01 |
[암호] 별표암호해독 (0) | 2007.12.27 |
RConnect (0) | 2007.06.05 |