#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("}");
}
허접한 소스 ㅠ 머리가 나쁜갑다;
'아카이브' 카테고리의 다른 글
| IIS 버전별 비교 (0) | 2008.07.11 |
|---|---|
| MS SQL 2005 Express Edition 사용시 ASP 에서 OLEDB 연결하기 (0) | 2008.07.10 |
| [펌]< LPSTR, LPCSTR / LPTSTR, LPCTSTR > - 문자열의 종류를 나타내는 자료형 (0) | 2007.08.12 |
| [오피스2003-ppt] 파일의 일부가 빠져있어서 열수가 없습니다. (0) | 2007.06.14 |
| 나에 관하여... (1) | 2007.05.26 |