pC.NET

Welcome to oscc.kr



 교집합과 합집합 구하기
2020-05-12 10:40:42
Hit : 258, Vote : 37

작성자 : 피시키드
- File #1 : 57.c(1.5 KB), Download : 0

먼저 교집합을 구한다.

그리고 A+B - A∩B를 해서 합집합을 구한다.

 

 

#include <stdio.h> // 교집합과 합집합 구하기 int main() { int i; int j; int k; int tmp; int x[] = {0,2,1,3,5,4,9,7,8,6,10}; int y[] = {0,7,4,8,5,9,14,11,17,19}; int lx; int ly; int in[100]; int un[100]; int incnt = 0; int uncnt = 0; int max = 0; lx = sizeof(x) / sizeof(x[0]) - 1; ly = sizeof(y) / sizeof(y[0]) - 1; // 교집합 구하기 for (i=1;i<=lx;i++) { for (j=1;j<=ly;j++) { if ( x[i] == y[j] ) { incnt = incnt + 1; in[incnt] = x[i]; // 정렬 for (k=incnt;k>1;k--) { if (in[k] < in[k-1]) { tmp = in[k-1]; in[k-1] = in[k]; in[k] = tmp; } }break; } } } printf("Intersect: "); for (i=1;i<=incnt;i++) printf( "%d ", in[i]); printf("\n"); // 합집합 구하기 for (i=1;i<=lx;i++) { un[i] = x[i]; if ( un[i] > max) max = un[i]; } for (;i<=lx+ly;i++) {  un[i] = y[i-lx]; if ( un[i] > max) max = un[i]; } max = max + 1; for (i=lx+1;i<=lx+ly;i++) { for (j=1;j<=incnt;j++) {if ( un[i] == in[j]) { un[i] = max; //삭제를 위해 제일 큰수 + 1 로 마킹 break; } } } uncnt = lx + ly; // 버블 정렬 (max + 1로 마킹된 요소는 맨 뒤로 이동됨) for (i=1;i<=uncnt;i++) { for(j=i;j<=uncnt;j++) { if ( un[i] > un[j]) { tmp = un[i]; un[i] = un[j]; un[j] = tmp; } } } uncnt = lx + ly - incnt; printf("Union: "); for (i=1;i<=uncnt;i++) printf("%d ",un[i]);  return 0; }

 


  피시키드
아하하하하-_-;;;
 4420
 60

잠깐!
글은 인터넷에서 자신을 나타내는 유일한 모습입니다.
한줄의 댓글이나 답글로도 피시키드님은 무척 기뻐할 것입니다.
댓글쓰기     작성자   패스워드


119
  오랜만이네요 
 윤성일
29 2021/01/12
118
  제로보드4 게시판형식에 정이 있으나.... 
 피시키드
28 2021/01/10
117
  이동식 드라이브 문자명 변경 
 피시키드
29 2021/01/10
116
  식빵 
 피시키드
42 2020/12/23
115
비밀글입니다  asd 
 asd
4 2020/10/30
114
  Windows 10 네트워크 오류 해결 방법 
 피시키드
196 2020/08/11
113
비밀글입니다  PC케이스 
 피시키드
3 2020/08/10
112
  KT추가단말서비스 IP주소   1
 피시키드
168 2020/08/05
111
  qoh99se windows10에서 하는방법. 
 피시키드
174 2020/08/02
110
비밀글입니다  테크노트 cgi 기반 자료실 뚫기. 
 피시키드
4 2020/08/02
109
비밀글입니다  차냥이  
 sick
1 2020/07/24
108
비밀글입니다  패스워드 사전파일 
 피시키드
1 2020/06/23
107
  마인크래프트 최적화 
 피시키드
292 2020/06/10
106
비밀글입니다  작업중인 내용 
 피시키드
2 2020/05/27
105
  멀티 부팅 USB 만들기 (ISO이미지 기반) 
 피시키드
232 2020/05/27
104
  포토샵 CS3 강제종료 현상시. 
 피시키드
248 2020/05/23
103
  이스케이핑, printf(), scanf() 
 피시키드
280 2020/05/12
102
  변수명, 주소, 값, 포인터 요약 
 피시키드
277 2020/05/12
101
  미로찾기 [우수법]  
 피시키드
256 2020/05/12
100
  구조체 
 피시키드
255 2020/05/12
99
  문자열 좌우회전 이동  
 피시키드
276 2020/05/12
98
  10진수 2진수로 변환하여 출력하기  
 피시키드
284 2020/05/12
97
  최대공약수 구하기(유클리드 호제법)  
 피시키드
264 2020/05/12
  교집합과 합집합 구하기  
 피시키드
258 2020/05/12
95
  파스칼의 삼각형  
 피시키드
278 2020/05/12
94
  홀수 마방진  
 피시키드
266 2020/05/12
93
  숫자 달팽이 돌리기  
 피시키드
271 2020/05/12
92
  변수형의 제약을 넘어서 2의 n승 출력하기  
 피시키드
243 2020/05/12
91
  소수점 자리수 제한 넘어서 나눗셈하기  
 피시키드
274 2020/05/12
90
비밀글입니다  컴터 다운되기전 메모메모 
 피시키드
1 2020/05/05

1 [2][3][4]



Copyright (C) 1997-2021 All Rights Reserved.