SlideShare uma empresa Scribd logo
1 de 29
Database

   Managment

           System
             학번        이름


           20083431    고충욱


           20083458    민영지


           20093511    이창준


           20113287    박다솔


           20113319    정진아




                      D3 조
목차
1. 프로그램목적
2. 일정
3.      1      차        코딩          초안          및
문제점,해결책
4.      2      차        코딩          소스          및
문제점,해결책
5.      3      차        코딩          소스          및
문제점,해결책
6. 최종 코딩
7. 참고 자료
1.프로그램 목적

reflexive,symmetric,irreflexive 를 알고 프로그램을 작성할 수 있다.
2.일정

2012.3.18

역할분담 및 문제 인식

             equivalence class of X relative to R, irreflexive, antisymmetric, partial

    고충욱                ordering, ordering 이해하고 조원에게 설명하기,

                                1 차 코딩 작업, 최종 코딩 작업


            bijection, permutation, The Pigemonhole Principle, invertible, surjective

    민영지                   이해하고 조원에게 설명하기, 보고서 작성,

                                        코딩 문제점제시


             binary relation, reflexive, symmetric, transitive, equivalence relations

    이창준                이해하고 조원에게 설명하기, 코딩 문제점제시,

                                          보고서 작성



             lexicorgraphic order, transitive closur, composition, identity relation,
    박다솔
                inverse relation 이해하고 조원에게 설명하기, 1 차 코딩 작업




            function, image, range, equal, injective 이해하고 조원에게 설명하기,
    정진아
                                보고서 작성, 코딩 문제점제시




2012.3.23
조원들끼리 모여 서로 나누어서 찾은 것들에 대해 설명 해주고

받고 하며 토의를 하였다.

binary relation : 2-항 관계, 공집합이 아닌 임의의 두 집합 A,B 에 대하여, A 에서 B 로 가는

이항관계는 A×B 의 부분집합을 말한다. 이때 (a,b)∈R 이면 a 는 b 에 대해서 R 관계가 없다고

하며, aRb 로 표기한다.

reflexive : 반사적, 관계 R 이 정의된 집합의 모든 원소 a 에 대해서 aRa 가 성립하는 경우에 대해

R 을 반사적 관계라고 한다.

symmetric : 대칭적, 임의의 두 원소 a,b∈A 에 대하여 aRb 이면 반드시 bRa 일 때 R 을 대칭적

관계라 한다.

transitive : 추이적, 임의의 원소 a,b,c∈A 에 대하여 aRb 이고 bRc 이면 반드시 aRc 일 때 R 을

추이적 관계라 한다.

equivalence relations : 동치 관계, 집합 A 에서의 2 항관계 R 이 A 의 모든 원소 a,b,c 에 대하여

반사적, 대칭적, 추이적 관계를 만족할때 R 은 동치 관계라 한다.

function : 함수, 변수 x 와 y 사이에 x 의 값이 정해지면 따라서 y 값이 정해진다는 관계가 있을 때,

y 는 x 의 함수라고 한다.

image : 상, 치역에 속한 원소

range : 치역, 함수가 취하는 값 전체의 집합을 일컫는다. 치역이라고 하는 것은 함수의 모든

"출력"값의 집합

equal : 같은, 어떤 두 개의 사상(事象)이 모두 같은 것. 이 기호로서 등호「=」를 쓴다.

수학적으로는 좌변과 우변이 같은 것을 표시한다

injective : 단사함수 f: X->Y 에 대해 집합 X 의 서로 다른 원소들이 집합 Y 의 서로 다른 원소들에

대응 될때
예) 집합 X 의 임의의 원소 x1,x2 에 대하여 x1 과 x2 가 같지 않을때 f(x1) f(x2)가 같지 않을때

단사함수 또는 일대일 함수라 한다.

permutation : 순열, n 개의 서로 다른 것 중에서 r 개(nr)를 택하여 어떤 순서에 따라 일렬로

배열하는 것 공식: nPr=n!/(n-r)!

The Pigemonhole Principle : 비둘기 집의 원리, 비둘기 집은 n 개 밖에 없는데 비둘기는 n 마리

보다 더 많이 있다면, 비둘기 집 가운데 어느 하나는 반드시 2 마리 이상의 비둘기가 사용해야

한다는 것이다. 이것은, 정의역과 공역이 각각 유한집합인 함수에 관한 간단한 성질 즉, A, B 가

모두 유한집합이고 |A |> |B |이면, A 에서 B 로의 어떤 함수도 1 대 1 대응이 될 수는 없다는

것으로 표현되어지기도

한다.

ex) n> m 일 때, n 개의 물건을 m 개의 상자에 넣으려면 어떤 방법으로 넣더라도 적어도 어느

한 상자에는 두 개 이상의 물건을 넣어야 한다.

invertible : 행렬, 행들과 열들로 구분하여 정돈된 숫자나 문자들을 단순한 직사격형 또는

정사격형의 형태로 배열한것

surjective : 전사함수, f: X ->Y 에 대해 치역과 공역이 일치하는 함수



2012.3.25

메신저를 통해 조원들과 1 차 코딩에 대한 문제점과 대안점을

찾아 해결하였다.

특정 예에서 symmetric 오류.


2012.3.30
메신저를               통해   조원들과   2   차   코딩후   숫자입력을   문제와

동일하게               하여야   한다하여      다시   입력부분을   수정하였다.

처음부터 안고있던 행과 열의 입력 부분에 대한 토의를 하였다.


2012.4.3

행과 열의 입력 부분까지 완료 하여 최종적인 소스가 나오게

되었다.


3. 1 차 코딩 초안 및 문제점 ,해결책

#include <stdio.h>

int main(void)

{

int arr[4][4];

int arr_w,arr_h;

int i,j,sum=0;

int a;

int com=0;

printf("입력하려는 행렬의 행의 갯수를 입력하세요n");

scanf("%d",&arr_w);

printf("입력하려는 행렬의 열의 갯수를 입력하세요n");

scanf("%d",&arr_h);

for(i=0; i<arr_w;i++)
{

printf("%d 행 입력n",i+1);

for(j=0; j<arr_h; j++)

{

scanf("%d",&arr[i][j]);

}

}

if(arr_h==arr_w)

{

for(i=0,j=0; i<arr_h;i++,j++)

{

sum +=arr[i][j];

}

if(sum==arr_w)

{

printf("reflexive : yesn");

printf("irreflexive: non");

}

else

{

printf("reflexive :non");

if(sum== 0)

{

printf("irreflexive:yesn");
}

else

{

printf("irreflexive :non");

}

}

for(i=0; i<arr_w ; i++)

{

for(j=0; j<arr_h ; j++)

{

if(arr[i][j]!=arr[j][i])

{

a=1;

}

else

{

a=0;

}

}

}

if(a==1)

{

printf("symmetric : non");

}
else if(a==0)

{

printf("symmetric : yesn");

}

}

if(arr_h!=arr_w)

{

printf("symmetric:non");

com = arr_w>arr_h ? arr_h:arr_w;

for(i=0,j=0; i<com ; i++,j++)

{

sum+=arr[i][j];

}

if(sum==com)

{

printf("reflexive : yesn");

printf("irreflexive: non");

}

else

{

printf("reflexive :non");

if(sum== 0)

{

printf("irreflexive:yesn");
}

else

{

printf("irreflexive :non");

}

}

}

_getch();

}



1.문제점 파악

3X3                        일때   (1,0,0),(1,1,0),(0,0,1)대입시

symmetric 의 오류가 발생한다.

1 차 코딩 해결책

for(i=0; i<arr_w ; i++)

{

for(j=0; j<arr_h ; j++)

{

if(arr[i][j]!=arr[j][i])

a=1;

else

{

a=0;
}

}

}

if(a==1)

{

printf("symmetric : non");

}

else if(a==0)

{

printf("symmetric : yesn");

}



위에 symmetric 계산 부분에 I 와 j 가 같지 않을

때 조건을 추가하고 else 부분을 지워버렸다.

그리고 처음부터 a=1 로 선언하여 arr[i][j]와

arr[j][i]를 비교 같지 않을 땐 a=0 으로

처리하였다.


4. 2 차 코딩소스 및 문제점, 해결책

#include <stdio.h>

int main(void)

{
int arr[4][4];

int arr_w,arr_h;//입력받는 행,열 선언

int i,j,sum=0;

int a=1;

int small=0;

printf("입력하려는 행렬의 행의 갯수를 입력하세요n");

scanf("%d",&arr_w);

printf("입력하려는 행렬의 열의 갯수를 입력하세요n");

scanf("%d",&arr_h);

for(i=0; i<arr_w;i++)

{

printf("%d 행 입력n",i+1);

for(j=0; j<arr_h; j++)

{

scanf("%d",&arr[i][j]);

}

}

if(arr_h==arr_w)

{

for(i=0,j=0; i<arr_h;i++,j++)

{

sum +=arr[i][j];

}

if(sum==arr_w)
{

printf("reflexive : yesn");

printf("irreflexive: non");

}

else

{

printf("reflexive :non");

if(sum== 0)

{

printf("irreflexive:yesn");

}

else

{

printf("irreflexive :non");

}

}

for(i=0; i<arr_w ; i++)

{

for(j=0; j<arr_h ; j++)

{

if(i != j)

{

if(arr[i][j]!=arr[j][i])

{
a=0;

}

}

}

}

if(a==0)

{

printf("symmetric : non");

}

else if(a==1)

{

printf("symmetric : yesn");

}

}

if(arr_h!=arr_w)

{

printf("symmetric:non");

small = arr_w>arr_h ? arr_h:arr_w;

for(i=0,j=0; i<small ; i++,j++)

{

sum+=arr[i][j];

}

if(sum==small)

{
printf("reflexive : yesn");

printf("irreflexive: non");

}

else

{

printf("reflexive :non");

if(small== 0)

{

printf("irreflexive:yesn");

}

else

{

printf("irreflexive :non");

}

}

}

getch();

return 0;

}



문제점 파악

숫자 입력 부분이 문제와 다르게 받음.


2 차 코딩 해결책
입력부분 받는 부분을 1 차 배열로 받아 숫자만 따로 1 차배열에 다시 넣어

다시 숫자만 2 차 배열에 다시 집어넣는 과정을 새로 만들었다.

printf("숫자를 입력하세요n");

scanf("%s",str);

for(i=0,j=0;i<len;i++)

{

if(str[i]=='1'||str[i]=='0')

{

temp[j]=str[i];

j++;

}

}

for(x=0,j=0;x<arr_w;x++)

{

for(y=0;y<arr_h;y++)

{

arr[x][y]=temp[j];

j++;

}

}



5. 3 차 코딩 소스 및 문제점,해결책
#include <stdio.h>

#include <string.h>
#include <stdlib.h>

int main(void)

{

char arr[5][5];

int arr_w=0,arr_h=0;

int i,j;

int sum=0;

int x,y,len;

int a=1,b=1;

int small=0;

char str[60];

char temp[25];

printf("숫자를 입력하세요n");

scanf("%s",str);

printf("입력하려는 행렬의 행의 갯수를 입력하세요n");

scanf("%d",&arr_w);

printf("입력하려는 행렬의 열의 갯수를 입력하세요n");

scanf("%d",&arr_h);

len=strlen(str);

for(i=0,j=0;i<len;i++)

{

if(str[i]=='1'||str[i]=='0')

{

temp[j]=str[i];
j++;

}

}

for(x=0,j=0;x<arr_w;x++)

{

for(y=0;y<arr_h;y++)

{

arr[x][y]=temp[j];

j++;

}

}

if(arr_w==arr_h)

{

for(i=0,j=0; i<arr_h;i++,j++)

{

sum +=(arr[i][j]-48);

}

if(sum==0)

{

printf("reflexive : non");

printf("irreflexive: yesn");

}

else if(sum==arr_w)

{
printf("reflexive :yesn");

printf("irreflexive: non");

}

else

{

printf("reflexive :non");

printf("irreflexive: non");

}

for(i=0; i<arr_w ; i++)

{

for(j=0; j<arr_h ; j++)

{

if(i != j)

{

if(arr[i][j] != arr[j][i])

{

a=0;

}

}

}

}

if(a==0)

{

printf("symmetric : non");
}

else if(a==1)

{

printf("symmetric : yesn");

}

}

if(arr_w!=arr_h)

{

printf("symmetric:non");

small = arr_w>arr_h ? arr_h:arr_w;

for(i=0,j=0; i<small ; i++,j++)

{

sum+=arr[i][j]-48;

}

if(sum==small)

{

printf("reflexive : yesn");

printf("irreflexive: non");

}

else

{

printf("reflexive :non");

if(sum == 0)

{
printf("irreflexive:yesn");

}

else

{

printf("irreflexive :non");

}

}

}

_getch();

return 0;

}



3 차소스 문제점

행과 열을 입력 받아야 프로그램이 실행된다는 문제점이 있다.

printf("입력하려는 행렬의 행의 갯수를 입력하세요n");

scanf("%d",&arr_w);

printf("입력하려는 행렬의 열의 갯수를 입력하세요n");

scanf("%d",&arr_h);


이 부분에서 직접 행과 열의 개수를 받아서 문제가 됨.


3 차 소스 해결책

for(ptr=str;;)//행과 열을구하기위한 부분

{
ptr=strchr(ptr,'[');

if(ptr == NULL)

{

break;

}

count++;

ptr++;

}

for(ptr=str;;)

{

ptr=strchr(ptr,'0');

if(ptr == NULL)

{

break;

}

count2++;

ptr++;

}

for(ptr=str;;)

{
ptr=strchr(ptr,'1');

if(ptr == NULL)

{

break;

}

count3++;

ptr++;

}

arr_w=count-1;

arr_h=(count2+count3)/arr_w;//여기까지


[ 이 괄호의 개수를 세어 1 을 빼준 수가 행이기 때문에 행의

수를 구할수 있었고, 입력받은 문자열중 숫자의 개수만 더하여

행의 수로 나누어주면 열의 수가 나오는 걸 알고 이걸 소스로

옮겼다.


6. 최종 코딩
#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main(void)

{
char arr[5][5];

char str[60];

char temp[25];

char *ptr;

int arr_w=0;

int arr_h=0;

int i,j;

int sum=0;

int x,y,len;

int a=1;

int small=0;

int count=0;

int count2=0;

int count3=0;

printf("숫자를 입력하세요n");

scanf("%s",str);//1 차배열 str 에 숫자를 입력받음

len=strlen(str);

for(i=0,j=0;i<len;i++)//1 차배열 str 에서 숫자만 따로 temp 배열에 넣음.

{

if(str[i]=='1'||str[i]=='0')

{

temp[j]=str[i];

j++;

}

}

for(ptr=str;;)//행과 열을구하기위한 부분

{
ptr=strchr(ptr,'[');

if(ptr == NULL)

{

break;

}

count++;

ptr++;

}

for(ptr=str;;)

{

ptr=strchr(ptr,'0');

if(ptr == NULL)

{

break;

}

count2++;

ptr++;

}

for(ptr=str;;)

{

ptr=strchr(ptr,'1');

if(ptr == NULL)

{

break;

}

count3++;

ptr++;
}

arr_w=count-1;

arr_h=(count2+count3)/arr_w;//여기까지

for(x=0,j=0;x<arr_w;x++)//temp 에 있던 숫자들을 2 차배열에 넣는 부분

{

for(y=0;y<arr_h;y++)

{

arr[x][y]=temp[j];

j++;

}

}

if(arr_w==arr_h)//행과 열이 같은 정방일때 reflexive 와 irreflexive symmetric 을 구하는부분

{

for(i=0,j=0; i<arr_h;i++,j++)//문자열로 입력받았기 때문에 아스키코드를 사용하여

문제해결에 돌입

{

sum +=(arr[i][j]-48);

}

if(sum==0)//sum 이 0 이면 (0,0),(1,1)..이모두 0 이기때문에

{

printf("reflexive : non");

printf("irreflexive: yesn");

}

else if(sum==arr_w)//sum 이 행의 수와같으면 (0,0)(1,1)..이 모두 1 이기 때문에

{

printf("reflexive :yesn");

printf("irreflexive: non");
}

else//그렇지 않으면 둘다 no

{

printf("reflexive :non");

printf("irreflexive: non");

}

for(i=0; i<arr_w ; i++)//symmetric 구하는 부분

{

for(j=0; j<arr_h ; j++)

{

if(i != j)

{

if(arr[i][j] != arr[j][i])//(0,1) (1,0)이런식으로 서로를 비교하여 symmetric 을 비교 다른게 하나라도 있으면

{a=0;//a=0 을 넣어 밑에식

}

}

}

}

if(a==0)//이곳에서 대칭성 no 를 출력{

printf("symmetric : non");

}

else if(a==1)//모두 같으면 초기에 a=1 로 선언하였기때문에 a 가 1 일땐 대칭성 yes 출력

{

printf("symmetric : yesn");

}

}

if(arr_w!=arr_h)//정방이 아닐때 구하는 부분
{

printf("symmetric:non");//정방이 아닐땐 대칭성이 yes 가 될수없으므로 no 출력

small = arr_w>arr_h ? arr_h:arr_w;//행과 열을 비교 작은수를 나중에 쓸 수식을 위해 small 에 저장

for(i=0,j=0; i<small ; i++,j++)//reflexive 와 irreflexive 를 구하기위해 small 만큼만 돌아서 i j 가 같은 행만 비교

하여

{//정방일때와 마찬가지로 sum 을 구하여 yes,no 출력

sum+=arr[i][j]-48;

}

if(sum==small)

{

printf("reflexive : yesn");

printf("irreflexive: non");

}

else

{

printf("reflexive :non");

if(sum == 0)

{

printf("irreflexive:yesn");

}

else

{

printf("irreflexive :non");

}

}

}

_getch();
return 0;

}




Ⅵ. 참고 자료

이산치 책- 한빛 미디어 함미옥,홍영진

위키백과 사전

WIN32 Api 연구 사이트-http://winapi.co.kr/

Mais conteúdo relacionado

Mais procurados

자료구조4보고서
자료구조4보고서자료구조4보고서
자료구조4보고서KimChangHoen
 
Project#4상호참조 생성기 Hwp
Project#4상호참조 생성기 HwpProject#4상호참조 생성기 Hwp
Project#4상호참조 생성기 HwpKimjeongmoo
 
파이썬+정규표현식+이해하기 20160301
파이썬+정규표현식+이해하기 20160301파이썬+정규표현식+이해하기 20160301
파이썬+정규표현식+이해하기 20160301Yong Joon Moon
 
코딩인카페 C&JAVA 기초과정 C프로그래밍(3)
코딩인카페 C&JAVA 기초과정 C프로그래밍(3)코딩인카페 C&JAVA 기초과정 C프로그래밍(3)
코딩인카페 C&JAVA 기초과정 C프로그래밍(3)유익아카데미
 
Pure Function and Rx
Pure Function and RxPure Function and Rx
Pure Function and RxHyungho Ko
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기Yong Joon Moon
 
Pure Function and Honest Design
Pure Function and Honest DesignPure Function and Honest Design
Pure Function and Honest DesignHyungho Ko
 
코딩인카페 C&JAVA 기초과정 C프로그래밍(2)
코딩인카페 C&JAVA 기초과정 C프로그래밍(2)코딩인카페 C&JAVA 기초과정 C프로그래밍(2)
코딩인카페 C&JAVA 기초과정 C프로그래밍(2)유익아카데미
 
[이산수학]4 관계, 함수 및 행렬
[이산수학]4 관계, 함수 및 행렬[이산수학]4 관계, 함수 및 행렬
[이산수학]4 관계, 함수 및 행렬종빈 오
 
C++ 타입 추론
C++ 타입 추론C++ 타입 추론
C++ 타입 추론Huey Park
 
코딩인카페 C&JAVA 기초과정 C프로그래밍(1)
코딩인카페 C&JAVA 기초과정 C프로그래밍(1)코딩인카페 C&JAVA 기초과정 C프로그래밍(1)
코딩인카페 C&JAVA 기초과정 C프로그래밍(1)유익아카데미
 
Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713Yong Joon Moon
 
자료구조 04 최종 보고서
자료구조 04 최종 보고서자료구조 04 최종 보고서
자료구조 04 최종 보고서pkok15
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차Han Sung Kim
 

Mais procurados (18)

자료구조4보고서
자료구조4보고서자료구조4보고서
자료구조4보고서
 
Project#4상호참조 생성기 Hwp
Project#4상호참조 생성기 HwpProject#4상호참조 생성기 Hwp
Project#4상호참조 생성기 Hwp
 
파이썬+정규표현식+이해하기 20160301
파이썬+정규표현식+이해하기 20160301파이썬+정규표현식+이해하기 20160301
파이썬+정규표현식+이해하기 20160301
 
Ch05
Ch05Ch05
Ch05
 
코딩인카페 C&JAVA 기초과정 C프로그래밍(3)
코딩인카페 C&JAVA 기초과정 C프로그래밍(3)코딩인카페 C&JAVA 기초과정 C프로그래밍(3)
코딩인카페 C&JAVA 기초과정 C프로그래밍(3)
 
Pure Function and Rx
Pure Function and RxPure Function and Rx
Pure Function and Rx
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기
 
Pure Function and Honest Design
Pure Function and Honest DesignPure Function and Honest Design
Pure Function and Honest Design
 
코딩인카페 C&JAVA 기초과정 C프로그래밍(2)
코딩인카페 C&JAVA 기초과정 C프로그래밍(2)코딩인카페 C&JAVA 기초과정 C프로그래밍(2)
코딩인카페 C&JAVA 기초과정 C프로그래밍(2)
 
[이산수학]4 관계, 함수 및 행렬
[이산수학]4 관계, 함수 및 행렬[이산수학]4 관계, 함수 및 행렬
[이산수학]4 관계, 함수 및 행렬
 
강의자료3
강의자료3강의자료3
강의자료3
 
C++ 타입 추론
C++ 타입 추론C++ 타입 추론
C++ 타입 추론
 
2012 Ds 01
2012 Ds 012012 Ds 01
2012 Ds 01
 
코딩인카페 C&JAVA 기초과정 C프로그래밍(1)
코딩인카페 C&JAVA 기초과정 C프로그래밍(1)코딩인카페 C&JAVA 기초과정 C프로그래밍(1)
코딩인카페 C&JAVA 기초과정 C프로그래밍(1)
 
Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713
 
자료구조 04 최종 보고서
자료구조 04 최종 보고서자료구조 04 최종 보고서
자료구조 04 최종 보고서
 
2012 Ds 04
2012 Ds 042012 Ds 04
2012 Ds 04
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 

Destaque

Equations & Expressions Sub Unit B
Equations & Expressions Sub Unit BEquations & Expressions Sub Unit B
Equations & Expressions Sub Unit Bmrsfrasure
 
Geometry Unit Slideshow
Geometry Unit SlideshowGeometry Unit Slideshow
Geometry Unit Slideshowmrsfrasure
 
Make It Happen - AWE Summitt 14 (Zurich)
Make It Happen - AWE Summitt 14 (Zurich)Make It Happen - AWE Summitt 14 (Zurich)
Make It Happen - AWE Summitt 14 (Zurich)Jane Frankland
 
이산치수학 Project3
이산치수학 Project3이산치수학 Project3
이산치수학 Project3KoChungWook
 
이산치수학 Project5
이산치수학 Project5이산치수학 Project5
이산치수학 Project5KoChungWook
 
이산치수학 Project7
이산치수학 Project7이산치수학 Project7
이산치수학 Project7KoChungWook
 
Activitat 11
Activitat 11Activitat 11
Activitat 11jgalan33
 
Activitat 11
Activitat 11Activitat 11
Activitat 11jgalan33
 
Activitat 11
Activitat 11Activitat 11
Activitat 11jgalan33
 
Tugas praktik bahasa rakitan 2
Tugas praktik bahasa rakitan 2Tugas praktik bahasa rakitan 2
Tugas praktik bahasa rakitan 2Taufik Setiawan
 
数学之美与浪潮之巅
数学之美与浪潮之巅数学之美与浪潮之巅
数学之美与浪潮之巅wangqunbaidu
 
자료구조 Project1
자료구조 Project1자료구조 Project1
자료구조 Project1KoChungWook
 
이산치수학 Project4
이산치수학 Project4이산치수학 Project4
이산치수학 Project4KoChungWook
 
Universidad fermín toro diapositivas
Universidad fermín toro diapositivasUniversidad fermín toro diapositivas
Universidad fermín toro diapositivasJOSEYENIBORGES
 
Story board
Story boardStory board
Story board10ggo
 
Social Media to Enable Sales for Natwest Summer Time Talk
Social Media to Enable Sales for Natwest Summer Time TalkSocial Media to Enable Sales for Natwest Summer Time Talk
Social Media to Enable Sales for Natwest Summer Time TalkJane Frankland
 
이산치수학 Project6
이산치수학 Project6이산치수학 Project6
이산치수학 Project6KoChungWook
 
"Getting Creative with Social Media" BlogPaws Presentation
"Getting Creative with Social Media" BlogPaws Presentation"Getting Creative with Social Media" BlogPaws Presentation
"Getting Creative with Social Media" BlogPaws Presentationdogtipper
 

Destaque (20)

Equations & Expressions Sub Unit B
Equations & Expressions Sub Unit BEquations & Expressions Sub Unit B
Equations & Expressions Sub Unit B
 
Geometry Unit Slideshow
Geometry Unit SlideshowGeometry Unit Slideshow
Geometry Unit Slideshow
 
Make It Happen - AWE Summitt 14 (Zurich)
Make It Happen - AWE Summitt 14 (Zurich)Make It Happen - AWE Summitt 14 (Zurich)
Make It Happen - AWE Summitt 14 (Zurich)
 
이산치수학 Project3
이산치수학 Project3이산치수학 Project3
이산치수학 Project3
 
이산치수학 Project5
이산치수학 Project5이산치수학 Project5
이산치수학 Project5
 
Azteca Mango
Azteca MangoAzteca Mango
Azteca Mango
 
Budget 2013
Budget 2013Budget 2013
Budget 2013
 
이산치수학 Project7
이산치수학 Project7이산치수학 Project7
이산치수학 Project7
 
Activitat 11
Activitat 11Activitat 11
Activitat 11
 
Activitat 11
Activitat 11Activitat 11
Activitat 11
 
Activitat 11
Activitat 11Activitat 11
Activitat 11
 
Tugas praktik bahasa rakitan 2
Tugas praktik bahasa rakitan 2Tugas praktik bahasa rakitan 2
Tugas praktik bahasa rakitan 2
 
数学之美与浪潮之巅
数学之美与浪潮之巅数学之美与浪潮之巅
数学之美与浪潮之巅
 
자료구조 Project1
자료구조 Project1자료구조 Project1
자료구조 Project1
 
이산치수학 Project4
이산치수학 Project4이산치수학 Project4
이산치수학 Project4
 
Universidad fermín toro diapositivas
Universidad fermín toro diapositivasUniversidad fermín toro diapositivas
Universidad fermín toro diapositivas
 
Story board
Story boardStory board
Story board
 
Social Media to Enable Sales for Natwest Summer Time Talk
Social Media to Enable Sales for Natwest Summer Time TalkSocial Media to Enable Sales for Natwest Summer Time Talk
Social Media to Enable Sales for Natwest Summer Time Talk
 
이산치수학 Project6
이산치수학 Project6이산치수학 Project6
이산치수학 Project6
 
"Getting Creative with Social Media" BlogPaws Presentation
"Getting Creative with Social Media" BlogPaws Presentation"Getting Creative with Social Media" BlogPaws Presentation
"Getting Creative with Social Media" BlogPaws Presentation
 

Semelhante a 이산치수학 Project2

2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)arong1234
 
2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)arong1234
 
2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)arong1234
 
R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R BasicsYoonwhan Lee
 
이산치6보고서
이산치6보고서이산치6보고서
이산치6보고서KimChangHoen
 
프로젝트 보고서
프로젝트 보고서프로젝트 보고서
프로젝트 보고서hyungoh kim
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdfjinwookhong
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdfkd19h
 
[SICP] 4.4 Logic Programming : 논리로 프로그램 짜기
[SICP] 4.4 Logic Programming : 논리로 프로그램 짜기[SICP] 4.4 Logic Programming : 논리로 프로그램 짜기
[SICP] 4.4 Logic Programming : 논리로 프로그램 짜기종빈 오
 
Project#2 데이터베이스 시스템 Hwp
Project#2 데이터베이스 시스템 HwpProject#2 데이터베이스 시스템 Hwp
Project#2 데이터베이스 시스템 HwpKimjeongmoo
 
2데이터베이스 시스템
2데이터베이스 시스템2데이터베이스 시스템
2데이터베이스 시스템herojoon1378
 
스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오Taeoh Kim
 
자료구조1보고서
자료구조1보고서자료구조1보고서
자료구조1보고서KimChangHoen
 
2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdf2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdfkd19h
 
2012 Ds B2 02
2012 Ds B2 022012 Ds B2 02
2012 Ds B2 02chl132435
 

Semelhante a 이산치수학 Project2 (20)

2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)
 
2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)
 
2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)2012 Dm B3 보고서(10백지원)
2012 Dm B3 보고서(10백지원)
 
이산수학02
이산수학02이산수학02
이산수학02
 
DM_02
DM_02DM_02
DM_02
 
R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R Basics
 
이산치6보고서
이산치6보고서이산치6보고서
이산치6보고서
 
프로젝트 보고서
프로젝트 보고서프로젝트 보고서
프로젝트 보고서
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf
 
이산치2번
이산치2번이산치2번
이산치2번
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf
 
[SICP] 4.4 Logic Programming : 논리로 프로그램 짜기
[SICP] 4.4 Logic Programming : 논리로 프로그램 짜기[SICP] 4.4 Logic Programming : 논리로 프로그램 짜기
[SICP] 4.4 Logic Programming : 논리로 프로그램 짜기
 
자구2번
자구2번자구2번
자구2번
 
Project#2 데이터베이스 시스템 Hwp
Project#2 데이터베이스 시스템 HwpProject#2 데이터베이스 시스템 Hwp
Project#2 데이터베이스 시스템 Hwp
 
2데이터베이스 시스템
2데이터베이스 시스템2데이터베이스 시스템
2데이터베이스 시스템
 
스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오
 
자료구조1보고서
자료구조1보고서자료구조1보고서
자료구조1보고서
 
2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdf2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdf
 
2012 Ds B2 02
2012 Ds B2 022012 Ds B2 02
2012 Ds B2 02
 
2012 Dm 02
2012 Dm 022012 Dm 02
2012 Dm 02
 

이산치수학 Project2

  • 1. Database Managment System 학번 이름 20083431 고충욱 20083458 민영지 20093511 이창준 20113287 박다솔 20113319 정진아 D3 조
  • 2. 목차 1. 프로그램목적 2. 일정 3. 1 차 코딩 초안 및 문제점,해결책 4. 2 차 코딩 소스 및 문제점,해결책 5. 3 차 코딩 소스 및 문제점,해결책 6. 최종 코딩 7. 참고 자료 1.프로그램 목적 reflexive,symmetric,irreflexive 를 알고 프로그램을 작성할 수 있다.
  • 3. 2.일정 2012.3.18 역할분담 및 문제 인식 equivalence class of X relative to R, irreflexive, antisymmetric, partial 고충욱 ordering, ordering 이해하고 조원에게 설명하기, 1 차 코딩 작업, 최종 코딩 작업 bijection, permutation, The Pigemonhole Principle, invertible, surjective 민영지 이해하고 조원에게 설명하기, 보고서 작성, 코딩 문제점제시 binary relation, reflexive, symmetric, transitive, equivalence relations 이창준 이해하고 조원에게 설명하기, 코딩 문제점제시, 보고서 작성 lexicorgraphic order, transitive closur, composition, identity relation, 박다솔 inverse relation 이해하고 조원에게 설명하기, 1 차 코딩 작업 function, image, range, equal, injective 이해하고 조원에게 설명하기, 정진아 보고서 작성, 코딩 문제점제시 2012.3.23
  • 4. 조원들끼리 모여 서로 나누어서 찾은 것들에 대해 설명 해주고 받고 하며 토의를 하였다. binary relation : 2-항 관계, 공집합이 아닌 임의의 두 집합 A,B 에 대하여, A 에서 B 로 가는 이항관계는 A×B 의 부분집합을 말한다. 이때 (a,b)∈R 이면 a 는 b 에 대해서 R 관계가 없다고 하며, aRb 로 표기한다. reflexive : 반사적, 관계 R 이 정의된 집합의 모든 원소 a 에 대해서 aRa 가 성립하는 경우에 대해 R 을 반사적 관계라고 한다. symmetric : 대칭적, 임의의 두 원소 a,b∈A 에 대하여 aRb 이면 반드시 bRa 일 때 R 을 대칭적 관계라 한다. transitive : 추이적, 임의의 원소 a,b,c∈A 에 대하여 aRb 이고 bRc 이면 반드시 aRc 일 때 R 을 추이적 관계라 한다. equivalence relations : 동치 관계, 집합 A 에서의 2 항관계 R 이 A 의 모든 원소 a,b,c 에 대하여 반사적, 대칭적, 추이적 관계를 만족할때 R 은 동치 관계라 한다. function : 함수, 변수 x 와 y 사이에 x 의 값이 정해지면 따라서 y 값이 정해진다는 관계가 있을 때, y 는 x 의 함수라고 한다. image : 상, 치역에 속한 원소 range : 치역, 함수가 취하는 값 전체의 집합을 일컫는다. 치역이라고 하는 것은 함수의 모든 "출력"값의 집합 equal : 같은, 어떤 두 개의 사상(事象)이 모두 같은 것. 이 기호로서 등호「=」를 쓴다. 수학적으로는 좌변과 우변이 같은 것을 표시한다 injective : 단사함수 f: X->Y 에 대해 집합 X 의 서로 다른 원소들이 집합 Y 의 서로 다른 원소들에 대응 될때
  • 5. 예) 집합 X 의 임의의 원소 x1,x2 에 대하여 x1 과 x2 가 같지 않을때 f(x1) f(x2)가 같지 않을때 단사함수 또는 일대일 함수라 한다. permutation : 순열, n 개의 서로 다른 것 중에서 r 개(nr)를 택하여 어떤 순서에 따라 일렬로 배열하는 것 공식: nPr=n!/(n-r)! The Pigemonhole Principle : 비둘기 집의 원리, 비둘기 집은 n 개 밖에 없는데 비둘기는 n 마리 보다 더 많이 있다면, 비둘기 집 가운데 어느 하나는 반드시 2 마리 이상의 비둘기가 사용해야 한다는 것이다. 이것은, 정의역과 공역이 각각 유한집합인 함수에 관한 간단한 성질 즉, A, B 가 모두 유한집합이고 |A |> |B |이면, A 에서 B 로의 어떤 함수도 1 대 1 대응이 될 수는 없다는 것으로 표현되어지기도 한다. ex) n> m 일 때, n 개의 물건을 m 개의 상자에 넣으려면 어떤 방법으로 넣더라도 적어도 어느 한 상자에는 두 개 이상의 물건을 넣어야 한다. invertible : 행렬, 행들과 열들로 구분하여 정돈된 숫자나 문자들을 단순한 직사격형 또는 정사격형의 형태로 배열한것 surjective : 전사함수, f: X ->Y 에 대해 치역과 공역이 일치하는 함수 2012.3.25 메신저를 통해 조원들과 1 차 코딩에 대한 문제점과 대안점을 찾아 해결하였다. 특정 예에서 symmetric 오류. 2012.3.30
  • 6. 메신저를 통해 조원들과 2 차 코딩후 숫자입력을 문제와 동일하게 하여야 한다하여 다시 입력부분을 수정하였다. 처음부터 안고있던 행과 열의 입력 부분에 대한 토의를 하였다. 2012.4.3 행과 열의 입력 부분까지 완료 하여 최종적인 소스가 나오게 되었다. 3. 1 차 코딩 초안 및 문제점 ,해결책 #include <stdio.h> int main(void) { int arr[4][4]; int arr_w,arr_h; int i,j,sum=0; int a; int com=0; printf("입력하려는 행렬의 행의 갯수를 입력하세요n"); scanf("%d",&arr_w); printf("입력하려는 행렬의 열의 갯수를 입력하세요n"); scanf("%d",&arr_h); for(i=0; i<arr_w;i++)
  • 7. { printf("%d 행 입력n",i+1); for(j=0; j<arr_h; j++) { scanf("%d",&arr[i][j]); } } if(arr_h==arr_w) { for(i=0,j=0; i<arr_h;i++,j++) { sum +=arr[i][j]; } if(sum==arr_w) { printf("reflexive : yesn"); printf("irreflexive: non"); } else { printf("reflexive :non"); if(sum== 0) { printf("irreflexive:yesn");
  • 8. } else { printf("irreflexive :non"); } } for(i=0; i<arr_w ; i++) { for(j=0; j<arr_h ; j++) { if(arr[i][j]!=arr[j][i]) { a=1; } else { a=0; } } } if(a==1) { printf("symmetric : non"); }
  • 9. else if(a==0) { printf("symmetric : yesn"); } } if(arr_h!=arr_w) { printf("symmetric:non"); com = arr_w>arr_h ? arr_h:arr_w; for(i=0,j=0; i<com ; i++,j++) { sum+=arr[i][j]; } if(sum==com) { printf("reflexive : yesn"); printf("irreflexive: non"); } else { printf("reflexive :non"); if(sum== 0) { printf("irreflexive:yesn");
  • 10. } else { printf("irreflexive :non"); } } } _getch(); } 1.문제점 파악 3X3 일때 (1,0,0),(1,1,0),(0,0,1)대입시 symmetric 의 오류가 발생한다. 1 차 코딩 해결책 for(i=0; i<arr_w ; i++) { for(j=0; j<arr_h ; j++) { if(arr[i][j]!=arr[j][i]) a=1; else { a=0;
  • 11. } } } if(a==1) { printf("symmetric : non"); } else if(a==0) { printf("symmetric : yesn"); } 위에 symmetric 계산 부분에 I 와 j 가 같지 않을 때 조건을 추가하고 else 부분을 지워버렸다. 그리고 처음부터 a=1 로 선언하여 arr[i][j]와 arr[j][i]를 비교 같지 않을 땐 a=0 으로 처리하였다. 4. 2 차 코딩소스 및 문제점, 해결책 #include <stdio.h> int main(void) {
  • 12. int arr[4][4]; int arr_w,arr_h;//입력받는 행,열 선언 int i,j,sum=0; int a=1; int small=0; printf("입력하려는 행렬의 행의 갯수를 입력하세요n"); scanf("%d",&arr_w); printf("입력하려는 행렬의 열의 갯수를 입력하세요n"); scanf("%d",&arr_h); for(i=0; i<arr_w;i++) { printf("%d 행 입력n",i+1); for(j=0; j<arr_h; j++) { scanf("%d",&arr[i][j]); } } if(arr_h==arr_w) { for(i=0,j=0; i<arr_h;i++,j++) { sum +=arr[i][j]; } if(sum==arr_w)
  • 13. { printf("reflexive : yesn"); printf("irreflexive: non"); } else { printf("reflexive :non"); if(sum== 0) { printf("irreflexive:yesn"); } else { printf("irreflexive :non"); } } for(i=0; i<arr_w ; i++) { for(j=0; j<arr_h ; j++) { if(i != j) { if(arr[i][j]!=arr[j][i]) {
  • 14. a=0; } } } } if(a==0) { printf("symmetric : non"); } else if(a==1) { printf("symmetric : yesn"); } } if(arr_h!=arr_w) { printf("symmetric:non"); small = arr_w>arr_h ? arr_h:arr_w; for(i=0,j=0; i<small ; i++,j++) { sum+=arr[i][j]; } if(sum==small) {
  • 15. printf("reflexive : yesn"); printf("irreflexive: non"); } else { printf("reflexive :non"); if(small== 0) { printf("irreflexive:yesn"); } else { printf("irreflexive :non"); } } } getch(); return 0; } 문제점 파악 숫자 입력 부분이 문제와 다르게 받음. 2 차 코딩 해결책
  • 16. 입력부분 받는 부분을 1 차 배열로 받아 숫자만 따로 1 차배열에 다시 넣어 다시 숫자만 2 차 배열에 다시 집어넣는 과정을 새로 만들었다. printf("숫자를 입력하세요n"); scanf("%s",str); for(i=0,j=0;i<len;i++) { if(str[i]=='1'||str[i]=='0') { temp[j]=str[i]; j++; } } for(x=0,j=0;x<arr_w;x++) { for(y=0;y<arr_h;y++) { arr[x][y]=temp[j]; j++; } } 5. 3 차 코딩 소스 및 문제점,해결책 #include <stdio.h> #include <string.h>
  • 17. #include <stdlib.h> int main(void) { char arr[5][5]; int arr_w=0,arr_h=0; int i,j; int sum=0; int x,y,len; int a=1,b=1; int small=0; char str[60]; char temp[25]; printf("숫자를 입력하세요n"); scanf("%s",str); printf("입력하려는 행렬의 행의 갯수를 입력하세요n"); scanf("%d",&arr_w); printf("입력하려는 행렬의 열의 갯수를 입력하세요n"); scanf("%d",&arr_h); len=strlen(str); for(i=0,j=0;i<len;i++) { if(str[i]=='1'||str[i]=='0') { temp[j]=str[i];
  • 19. printf("reflexive :yesn"); printf("irreflexive: non"); } else { printf("reflexive :non"); printf("irreflexive: non"); } for(i=0; i<arr_w ; i++) { for(j=0; j<arr_h ; j++) { if(i != j) { if(arr[i][j] != arr[j][i]) { a=0; } } } } if(a==0) { printf("symmetric : non");
  • 20. } else if(a==1) { printf("symmetric : yesn"); } } if(arr_w!=arr_h) { printf("symmetric:non"); small = arr_w>arr_h ? arr_h:arr_w; for(i=0,j=0; i<small ; i++,j++) { sum+=arr[i][j]-48; } if(sum==small) { printf("reflexive : yesn"); printf("irreflexive: non"); } else { printf("reflexive :non"); if(sum == 0) {
  • 21. printf("irreflexive:yesn"); } else { printf("irreflexive :non"); } } } _getch(); return 0; } 3 차소스 문제점 행과 열을 입력 받아야 프로그램이 실행된다는 문제점이 있다. printf("입력하려는 행렬의 행의 갯수를 입력하세요n"); scanf("%d",&arr_w); printf("입력하려는 행렬의 열의 갯수를 입력하세요n"); scanf("%d",&arr_h); 이 부분에서 직접 행과 열의 개수를 받아서 문제가 됨. 3 차 소스 해결책 for(ptr=str;;)//행과 열을구하기위한 부분 {
  • 23. ptr=strchr(ptr,'1'); if(ptr == NULL) { break; } count3++; ptr++; } arr_w=count-1; arr_h=(count2+count3)/arr_w;//여기까지 [ 이 괄호의 개수를 세어 1 을 빼준 수가 행이기 때문에 행의 수를 구할수 있었고, 입력받은 문자열중 숫자의 개수만 더하여 행의 수로 나누어주면 열의 수가 나오는 걸 알고 이걸 소스로 옮겼다. 6. 최종 코딩 #include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) {
  • 24. char arr[5][5]; char str[60]; char temp[25]; char *ptr; int arr_w=0; int arr_h=0; int i,j; int sum=0; int x,y,len; int a=1; int small=0; int count=0; int count2=0; int count3=0; printf("숫자를 입력하세요n"); scanf("%s",str);//1 차배열 str 에 숫자를 입력받음 len=strlen(str); for(i=0,j=0;i<len;i++)//1 차배열 str 에서 숫자만 따로 temp 배열에 넣음. { if(str[i]=='1'||str[i]=='0') { temp[j]=str[i]; j++; } } for(ptr=str;;)//행과 열을구하기위한 부분 {
  • 25. ptr=strchr(ptr,'['); if(ptr == NULL) { break; } count++; ptr++; } for(ptr=str;;) { ptr=strchr(ptr,'0'); if(ptr == NULL) { break; } count2++; ptr++; } for(ptr=str;;) { ptr=strchr(ptr,'1'); if(ptr == NULL) { break; } count3++; ptr++;
  • 26. } arr_w=count-1; arr_h=(count2+count3)/arr_w;//여기까지 for(x=0,j=0;x<arr_w;x++)//temp 에 있던 숫자들을 2 차배열에 넣는 부분 { for(y=0;y<arr_h;y++) { arr[x][y]=temp[j]; j++; } } if(arr_w==arr_h)//행과 열이 같은 정방일때 reflexive 와 irreflexive symmetric 을 구하는부분 { for(i=0,j=0; i<arr_h;i++,j++)//문자열로 입력받았기 때문에 아스키코드를 사용하여 문제해결에 돌입 { sum +=(arr[i][j]-48); } if(sum==0)//sum 이 0 이면 (0,0),(1,1)..이모두 0 이기때문에 { printf("reflexive : non"); printf("irreflexive: yesn"); } else if(sum==arr_w)//sum 이 행의 수와같으면 (0,0)(1,1)..이 모두 1 이기 때문에 { printf("reflexive :yesn"); printf("irreflexive: non");
  • 27. } else//그렇지 않으면 둘다 no { printf("reflexive :non"); printf("irreflexive: non"); } for(i=0; i<arr_w ; i++)//symmetric 구하는 부분 { for(j=0; j<arr_h ; j++) { if(i != j) { if(arr[i][j] != arr[j][i])//(0,1) (1,0)이런식으로 서로를 비교하여 symmetric 을 비교 다른게 하나라도 있으면 {a=0;//a=0 을 넣어 밑에식 } } } } if(a==0)//이곳에서 대칭성 no 를 출력{ printf("symmetric : non"); } else if(a==1)//모두 같으면 초기에 a=1 로 선언하였기때문에 a 가 1 일땐 대칭성 yes 출력 { printf("symmetric : yesn"); } } if(arr_w!=arr_h)//정방이 아닐때 구하는 부분
  • 28. { printf("symmetric:non");//정방이 아닐땐 대칭성이 yes 가 될수없으므로 no 출력 small = arr_w>arr_h ? arr_h:arr_w;//행과 열을 비교 작은수를 나중에 쓸 수식을 위해 small 에 저장 for(i=0,j=0; i<small ; i++,j++)//reflexive 와 irreflexive 를 구하기위해 small 만큼만 돌아서 i j 가 같은 행만 비교 하여 {//정방일때와 마찬가지로 sum 을 구하여 yes,no 출력 sum+=arr[i][j]-48; } if(sum==small) { printf("reflexive : yesn"); printf("irreflexive: non"); } else { printf("reflexive :non"); if(sum == 0) { printf("irreflexive:yesn"); } else { printf("irreflexive :non"); } } } _getch();
  • 29. return 0; } Ⅵ. 참고 자료 이산치 책- 한빛 미디어 함미옥,홍영진 위키백과 사전 WIN32 Api 연구 사이트-http://winapi.co.kr/