pC.NET

Welcome to oscc.kr



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

작성자 : 피시키드
- 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; }

 


  피시키드
아하하하하-_-;;;
 3980
 57

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


111
  qoh99se windows10에서 하는방법. 
 피시키드
6 2020/08/02
110
비밀글입니다  테크노트 cgi 기반 자료실 뚫기. 
 피시키드
3 2020/08/02
109
비밀글입니다  차냥이  
 sick
1 2020/07/24
108
비밀글입니다  패스워드 사전파일 
 피시키드
1 2020/06/23
107
  마인크래프트 최적화 
 피시키드
70 2020/06/10
106
비밀글입니다  작업중인 내용 
 피시키드
2 2020/05/27
105
  멀티 부팅 USB 만들기 (ISO이미지 기반) 
 피시키드
63 2020/05/27
104
  포토샵 CS3 강제종료 현상시. 
 피시키드
74 2020/05/23
103
  이스케이핑, printf(), scanf() 
 피시키드
93 2020/05/12
102
  변수명, 주소, 값, 포인터 요약 
 피시키드
89 2020/05/12
101
  미로찾기 [우수법]  
 피시키드
93 2020/05/12
100
  구조체 
 피시키드
96 2020/05/12
99
  문자열 좌우회전 이동  
 피시키드
96 2020/05/12
98
  10진수 2진수로 변환하여 출력하기  
 피시키드
93 2020/05/12
97
  최대공약수 구하기(유클리드 호제법)  
 피시키드
96 2020/05/12
  교집합과 합집합 구하기  
 피시키드
96 2020/05/12
95
  파스칼의 삼각형  
 피시키드
100 2020/05/12
94
  홀수 마방진  
 피시키드
102 2020/05/12
93
  숫자 달팽이 돌리기  
 피시키드
98 2020/05/12
92
  변수형의 제약을 넘어서 2의 n승 출력하기  
 피시키드
95 2020/05/12
91
  소수점 자리수 제한 넘어서 나눗셈하기  
 피시키드
98 2020/05/12
90
비밀글입니다  컴터 다운되기전 메모메모 
 피시키드
1 2020/05/05
89
  리눅스 패키지 관련 
 피시키드
171 2020/04/19
88
비밀글입니다  한진택배 배송사 추적 (상세) 
 피시키드
1 2020/04/19
87
  [Linux/Shell] 특정 단어가 포함된 파일을 찾아 삭제하기 
 피시키드
193 2020/04/02
86
  엑박 컨트롤러 개조 
 피시키드
194 2020/03/27
85
  editplus 빈줄 삭제 
 피시키드
327 2019/12/12
84
  ssh자동 로그인 설정   1
 피시키드
406 2019/11/08
83
비밀글입니다  영화 
 피시키드
4 2019/10/28
82
비밀글입니다  ipsw system 
 피시키드
1 2019/10/15

1 [2][3][4]



Copyright (C) 1997-2020 All Rights Reserved.