[이산수학 과제] 02.집합을 비트열로 나타내고 그에 따른 합집합, 교집합, 차집합, 여집합, 배타적 차집합 등등을 조사하는 C언어 코드 + 보고서
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
해당 자료는 9페이지 까지만 미리보기를 제공합니다.
9페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[이산수학 과제] 02.집합을 비트열로 나타내고 그에 따른 합집합, 교집합, 차집합, 여집합, 배타적 차집합 등등을 조사하는 C언어 코드 + 보고서에 대한 보고서 자료입니다.

목차

이산수학_report#2-2.hwp ………………………… 1p


[문제2]
◉예제데이터와 실험결과
◉코드 설명
◉느낀점


▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒


[Debug]
[report2자료들]
이산수학2.cpp
이산수학2.ncb
이산수학2.sln
이산수학2.suo
이산수학2.vcproj
이산수학2.vcproj.Xnote-PC.Xnote.user


파일 27, 폴더 2
1.37MB

본문내용

이산수학_report#2-2.hwp




[문제2]

 ≪ 글 - 그림 파일 ≫

◉예제데이터와 실험결과
setA를 16진수 0xD6, setB를 16진수 0xAE로 초기화하고 비트열로 나타내고
그에 따른 합집합, 교집합, 여집합, 배타적-합집합, 차집합, A B 가 서로소인지,
부분집합인지를 알 수 있어야 한다.

 ≪ 글 - 그림 파일 ≫
     그림(2)

그림(2)에서 볼 수 있듯이, A와 B에 따른 정확한 출력 결과를 얻을 수 있다.

◉코드 설명
우선 unsigned char 이라고 선언을 하면, 부호가 없는 정수 범위인 0~255까지 선언을 하게 되는 것인데 #define EL_TYPE unsigned char로 선언함으로써
EL_TYPE가 unsigned char의 자료형을 대신하도록 정의가 내려진다.




▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒



이산수학2.cpp




#include

#define EL_TYPE unsigned char

int printSetBinary (EL_TYPE set); //set의 내용을 비트 형태로 표준 출력
int printSetElement (EL_TYPE *elemList, EL_TYPE subSet);
//subSet의 실제 원소를 elemList를 참조하여 표준 출력
EL_TYPE SetAND (EL_TYPE setA, EL_TYPE setB); // 교집합
EL_TYPE SetOR (EL_TYPE setA, EL_TYPE setB); // 합집합
EL_TYPE SetNOT (EL_TYPE setA); // 여집합
EL_TYPE SetXOR (EL_TYPE setA, EL_TYPE setB); // 배타적-합집합
EL_TYPE SetSubtract (EL_TYPE setA, EL_TYPE setB); // 차집합 setA-setB
int IsDisjoint (EL_TYPE setA, EL_TYPE setB); // setA, setB가 서로 소인지 검사
int IsSubSet (EL_TYPE setA, EL_TYPE setB); // setB가 setA의 부분집합인지 검사

int main(void)
{
    EL_TYPE elemList[8] = { 1, 2, 3, 4, 5, 6, 7, 8};
    EL_TYPE setU = 0xFF; // 1111 1111
    EL_TYPE setA = 0xD6; // 1101 0110
    EL_TYPE setB = 0xAE; // 1010 1110
    EL_TYPE andAB = SetAND (setA, setB);        
    EL_TYPE orAB = SetOR (setA, setB);    
    EL_TYPE notA = SetNOT (setA);
    EL_TYPE notB = SetNOT (setB);
    EL_TYPE xorAB = SetXOR (setA, setB);
    EL_TYPE subtractAB = SetSubtract (setA, setB);
    EL_TYPE subtractBA = SetSubtract (setB, setA);

    printf("A의 비트열: ");
    printSetBinary (setA);
    
    printf("B의 비트열: ");
    printSetBinary (setB);
    
    printf("A의 실제 원소: ");
    printSetElement (elemList, setA);
    
    printf("B의 실제 원소: ");
    printSetElement (elemList, setB);
    
    printf("A와 B의 교집합: ");
    printSetElement (elemList, andAB);
    
    printf("A와 B의 합집합: ");
    printSetElement (elemList, orAB);
    
    printf("A의 여집합: ");
    printSetElement (elemList, notA);
    
    printf("B의 여집합: ");
    printSetElement (elemList, notB);
    
    printf("A와 B의 배타적-합집합: ");
printSetElement (elemList, xorAB);
    
    printf("차집합 A- B : ");
    printSetElement (elemList, subtractAB);
    
    printf("차집합 B- A : ");
    printSetElement (elemList, subtractBA);

    printf("A와 B가 서로소가 맞으면 1, 틀리면 0 : %d \n", IsDisjoint (setA, setB));
    
    printf("B가 A의 부분집합이 맞으면 1, 틀리면 0 : %d \n", IsSubSet (setA, setB));

    return 0;
}

키워드

  • 가격3,000
  • 페이지수28페이지
  • 등록일2012.12.23
  • 저작시기2000.9
  • 파일형식기타(tgz)
  • 자료번호#827245
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니