SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
이산치 수학
K-Combination




                  C1조
 조원 : 박구남,정준용,민영지,최고봉
1. 조원별 업무 분담
박구남     최종 보고서 작성 및 프로젝트 총괄




정준용     알고리즘에 대한 소스 구현 및 코딩 작업




최고봉     알고리즘에 대한 소스 구현 및 코딩 작업




민영지     K-Combination에 대한 자료조사 및 다른 K-sample등 자료조사




2. 일정

4/9    각 조원들 역할분담 및 자료조사



4/16   초안 검토 및 K-Combination에 관하여 토의



4/18   최종안 확인 및 보고서 작성
3. 자료 조사

             원소의 순서
                      순서 유관           순서 무관
 원소의 반복


                      k-permutation   k-combination
 비 반복 추출
                      (k-순열)          (k-조합)



 반복 추출                k-sample        k-selection



 중복 원소 추출             pattern         partition




k - sample
집합 S로부터 k개를 선택하는 작업 중 하나.
반복을 허락하지만, 다른 순서의 독같은 원소는 목록에서 구별된다.




k - selection
집합 S로부터 k개를 선택 할 경우 반복은 허락하지만, 순서에 상관 없이 같은 원소는 동일
하게 취급하는데, 이 경우의 목록을 집합 S로부터의 k - selection라고 한다.




k - permutations
집합 S로부터 k개를 선택하는데 반복은 허락하지 않는다. 하지만 선택된 원소들의 순서는
목록에서 구별한다.
n개의 원소를 가진 집합으로부터 k-순열의 수는 P(n,k)혹은 nPk라는 기호를 사용한다.




k - combinations
집합 S로부터 k개를 선택하는데 반복을 허락하지 않고 순서에 상관없이 구성.
이 같은 원소는 똑같이 취급하는 경우의 목록을 k-조합(K-Combination)라고 한다.
집합 S의 k-조합은 S의 부분 집합과 정확히 일치한다.
k-조합의 수는 C(n,k)혹은 nCk라는 기호를 사용한다.

초안
#include <stdio.h>
void main(){
        char input[43];
        char *element;
        int *a, *b;
        int n,r;
        int i,j;


        scanf("%s %d",input,&r);
        n = (strlen(input)-1)/2;
        element = (char *)malloc(n*sizeof(char));
        for (i=0,j=0; i<strlen(input);i++){
                   if(input[i] != ',' && input[i] != '{' && input[i] !='}'){
                              element[j]=input[i];
                              j++;
                   }
        }
        a = (int *)malloc(r*sizeof(int));
        b = (int *)malloc(r*sizeof(int));
        for(i=0;i<r;i++){
                   a[i] = 1;
                   if(i==0)
                              a[i] = 0;
        }
        while(a[0] !=n-r){
        b[0] = a[0];
        for(i=1;i<r;i++)
                   b[i]=b[i-1]+a[i];
        for(i=0;i<r;i++)
                   printf("%c",element[b[i]]);
                   break;
        }
        a[r-1]++;
        for(i=j-1;r-i<r;i--)
                   a[r-i]=1;
printf(",");
    }
    b[0] = a[0];
    for(i=1;i<r;i++)
               b[i]=b[i-1]+a[i];
    for(i=0;i<r;i++)
               printf("%c",element[b[i]]);
    free(element);
    free(a);
    free(b);
    getch();
}




초안 구현 및 문제점
b에 의해 결정되어 출력되는 원소가 해당 위치에서 출력 할 수 있는 가장 상위의 원소일때,
이과정을 최상위부터 내려오며 비교를 하는 문장을 넣지못하여 원하는 결과 값이 출력되지
않았습니다.
최종안
#include <stdio.h>
void main(){
        char input[43];
        char *element;
        int *a, *b;
        int n,r;
        int i,j;


        scanf("%s %d",input,&r);
        n = (strlen(input)-1)/2;
        element = (char *)malloc(n*sizeof(char));
        for (i=0,j=0; i<strlen(input);i++){
                   if(input[i] != ',' && input[i] != '{' && input[i] !='}'){
                              element[j]=input[i];
                              j++;
                   }
        }
        a = (int *)malloc(r*sizeof(int));
        b = (int *)malloc(r*sizeof(int));
        for(i=0;i<r;i++){
                   a[i] = 1;
                   if(i==0)
                              a[i] = 0;
        }
        while(a[0] !=n-r){
        b[0] = a[0];
        for(i=1;i<r;i++)
                   b[i]=b[i-1]+a[i];
        for(i=0;i<r;i++)
                   printf("%c",element[b[i]]);
        for(j=1; ; j++){
                   if(b[r-j] == n-j){
                              a[r-j-1]++;
continue;
                }
                break;
     }
     a[r-1]++;
     for(i=j-1;r-i<r;i--)
                a[r-i]=1;
                printf(",");
     }
     b[0] = a[0];
     for(i=1;i<r;i++)
                b[i]=b[i-1]+a[i];
     for(i=0;i<r;i++)
                printf("%c",element[b[i]]);
     free(element);
     free(a);
     free(b);
     getch();
}


최종안 코딩을 하면서
배열에서 크기를 43으로지정(최대 20개의원소,괄호 2개, 콤마(,)19개)하여 선언하였으며, 입
력받은 문자열에서 원소를 뽑아 동적할당 된 배열에 집어넣었습니다.




프로젝트를 진행하면서..
포인터와 배열에 관해 더 자세하게 알수 있었으며, 조원들끼리 서로 합심하여 모두 적극적
으로 참여 한 결과 프로젝트가 성공적으로 완성되었습니다.
조원들의 적극적인 참여가 일의 능률향상에 도움이 된다는것을 새삼 느꼈으며 조별활동의
장점을 새로 느낄 수 있었습니다.

Mais conteúdo relacionado

Mais procurados

이산치7보고서
이산치7보고서이산치7보고서
이산치7보고서KimChangHoen
 
Pure Function and Honest Design
Pure Function and Honest DesignPure Function and Honest Design
Pure Function and Honest DesignHyungho Ko
 
Pure Function and Rx
Pure Function and RxPure Function and Rx
Pure Function and RxHyungho Ko
 
HI-ARC 정기모임 #6 dfs
HI-ARC 정기모임 #6 dfsHI-ARC 정기모임 #6 dfs
HI-ARC 정기모임 #6 dfsJae-yeol Lee
 
Project#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 HwpProject#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 HwpKimjeongmoo
 
이산수학 C1 프로젝트 6
이산수학 C1 프로젝트 6이산수학 C1 프로젝트 6
이산수학 C1 프로젝트 6pkok15
 
[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...
[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...
[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...Seok-joon Yun
 
이산치수학 Project6
이산치수학 Project6이산치수학 Project6
이산치수학 Project6KoChungWook
 
2012 Ds B1 01
2012 Ds B1 012012 Ds B1 01
2012 Ds B1 01seonhyung
 
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기Chris Ohk
 
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성Lee Sang-Ho
 
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성Lee Sang-Ho
 
[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준
[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준
[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준Seok-joon Yun
 
2012 Dm A0 04 Pdf
2012 Dm A0 04 Pdf2012 Dm A0 04 Pdf
2012 Dm A0 04 Pdfkd19h
 

Mais procurados (20)

이산치7보고서
이산치7보고서이산치7보고서
이산치7보고서
 
Pure Function and Honest Design
Pure Function and Honest DesignPure Function and Honest Design
Pure Function and Honest Design
 
Pure Function and Rx
Pure Function and RxPure Function and Rx
Pure Function and Rx
 
HI-ARC 정기모임 #6 dfs
HI-ARC 정기모임 #6 dfsHI-ARC 정기모임 #6 dfs
HI-ARC 정기모임 #6 dfs
 
이산치3번
이산치3번이산치3번
이산치3번
 
Project#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 HwpProject#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 Hwp
 
이산수학02
이산수학02이산수학02
이산수학02
 
이산수학 C1 프로젝트 6
이산수학 C1 프로젝트 6이산수학 C1 프로젝트 6
이산수학 C1 프로젝트 6
 
[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...
[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...
[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...
 
이산수학06
이산수학06이산수학06
이산수학06
 
이산치수학 Project6
이산치수학 Project6이산치수학 Project6
이산치수학 Project6
 
2012 Ds B1 01
2012 Ds B1 012012 Ds B1 01
2012 Ds B1 01
 
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
 
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
 
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
 
DM_02
DM_02DM_02
DM_02
 
[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준
[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준
[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준
 
2012 Dm A0 04 Pdf
2012 Dm A0 04 Pdf2012 Dm A0 04 Pdf
2012 Dm A0 04 Pdf
 
W14 chap13
W14 chap13W14 chap13
W14 chap13
 
Ch10
Ch10Ch10
Ch10
 

Destaque

jls CV-Portfolio 2016 Bil
jls CV-Portfolio 2016 Biljls CV-Portfolio 2016 Bil
jls CV-Portfolio 2016 BilJoyce Scharf
 
проект под звон колоколов
проект под звон колоколовпроект под звон колоколов
проект под звон колоколовPravkonkurs
 
Die uhrzeit
Die uhrzeitDie uhrzeit
Die uhrzeitAna
 
グローバル・エディケーション・ツアー(GET)詳細資料
グローバル・エディケーション・ツアー(GET)詳細資料グローバル・エディケーション・ツアー(GET)詳細資料
グローバル・エディケーション・ツアー(GET)詳細資料chomido
 
2012 06-23 明慧-《中醫基礎理論》病因
2012 06-23 明慧-《中醫基礎理論》病因2012 06-23 明慧-《中醫基礎理論》病因
2012 06-23 明慧-《中醫基礎理論》病因yangmarissa
 
Kabus di perbukitan
Kabus di perbukitanKabus di perbukitan
Kabus di perbukitanHayati Satin
 
Provoca-UDEM-Llamada en Espera
Provoca-UDEM-Llamada en EsperaProvoca-UDEM-Llamada en Espera
Provoca-UDEM-Llamada en EsperaCOLEGIOS CCVI
 
Analisis Del Proceso De Generacion, Gestion Y Consolidacion De Las Torrefacto...
Analisis Del Proceso De Generacion, Gestion Y Consolidacion De Las Torrefacto...Analisis Del Proceso De Generacion, Gestion Y Consolidacion De Las Torrefacto...
Analisis Del Proceso De Generacion, Gestion Y Consolidacion De Las Torrefacto...UNIVERSIDAD VERACRUZANA
 
8. predavanje-proteoliticka aktivnos tmikroorganizama
8. predavanje-proteoliticka aktivnos tmikroorganizama8. predavanje-proteoliticka aktivnos tmikroorganizama
8. predavanje-proteoliticka aktivnos tmikroorganizamaMaja Andjelkovic
 
ROZ Ondernemersadvies (folder)
ROZ Ondernemersadvies (folder)ROZ Ondernemersadvies (folder)
ROZ Ondernemersadvies (folder)ROZGroep
 

Destaque (20)

I Unidad
I UnidadI Unidad
I Unidad
 
Resume_Deepashri Kulkarni
Resume_Deepashri KulkarniResume_Deepashri Kulkarni
Resume_Deepashri Kulkarni
 
jls CV-Portfolio 2016 Bil
jls CV-Portfolio 2016 Biljls CV-Portfolio 2016 Bil
jls CV-Portfolio 2016 Bil
 
Ref. 157
Ref. 157Ref. 157
Ref. 157
 
проект под звон колоколов
проект под звон колоколовпроект под звон колоколов
проект под звон колоколов
 
Die uhrzeit
Die uhrzeitDie uhrzeit
Die uhrzeit
 
グローバル・エディケーション・ツアー(GET)詳細資料
グローバル・エディケーション・ツアー(GET)詳細資料グローバル・エディケーション・ツアー(GET)詳細資料
グローバル・エディケーション・ツアー(GET)詳細資料
 
Un ipad entra in classe
Un ipad entra in classeUn ipad entra in classe
Un ipad entra in classe
 
2012 06-23 明慧-《中醫基礎理論》病因
2012 06-23 明慧-《中醫基礎理論》病因2012 06-23 明慧-《中醫基礎理論》病因
2012 06-23 明慧-《中醫基礎理論》病因
 
Auger Analysis
Auger AnalysisAuger Analysis
Auger Analysis
 
Apresentação Força Voluntária
Apresentação Força VoluntáriaApresentação Força Voluntária
Apresentação Força Voluntária
 
Kabus di perbukitan
Kabus di perbukitanKabus di perbukitan
Kabus di perbukitan
 
Provoca-UDEM-Llamada en Espera
Provoca-UDEM-Llamada en EsperaProvoca-UDEM-Llamada en Espera
Provoca-UDEM-Llamada en Espera
 
Presentacion
PresentacionPresentacion
Presentacion
 
Analisis Del Proceso De Generacion, Gestion Y Consolidacion De Las Torrefacto...
Analisis Del Proceso De Generacion, Gestion Y Consolidacion De Las Torrefacto...Analisis Del Proceso De Generacion, Gestion Y Consolidacion De Las Torrefacto...
Analisis Del Proceso De Generacion, Gestion Y Consolidacion De Las Torrefacto...
 
8. predavanje-proteoliticka aktivnos tmikroorganizama
8. predavanje-proteoliticka aktivnos tmikroorganizama8. predavanje-proteoliticka aktivnos tmikroorganizama
8. predavanje-proteoliticka aktivnos tmikroorganizama
 
Lugares
LugaresLugares
Lugares
 
Aperium golf event
Aperium golf eventAperium golf event
Aperium golf event
 
ROZ Ondernemersadvies (folder)
ROZ Ondernemersadvies (folder)ROZ Ondernemersadvies (folder)
ROZ Ondernemersadvies (folder)
 
Bal2012
Bal2012Bal2012
Bal2012
 

Semelhante a 이산수학 C1 프로젝트 3

2012 Ds A1 05
2012 Ds A1 052012 Ds A1 05
2012 Ds A1 05seonhyung
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdfkd19h
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdfjinwookhong
 
자료구조5보고서
자료구조5보고서자료구조5보고서
자료구조5보고서KimChangHoen
 
Project#5 최단거리 찾기 D0 Hwp
Project#5 최단거리 찾기 D0 HwpProject#5 최단거리 찾기 D0 Hwp
Project#5 최단거리 찾기 D0 HwpKimjeongmoo
 
Cpp 0x kimRyungee
Cpp 0x kimRyungeeCpp 0x kimRyungee
Cpp 0x kimRyungeescor7910
 
2012 Ds D0 01 Pdf
2012 Ds D0 01 Pdf2012 Ds D0 01 Pdf
2012 Ds D0 01 Pdfkd19h
 
2012 Ds D0 01
2012 Ds D0 012012 Ds D0 01
2012 Ds D0 01chl132435
 
5통신망에서 길 찾기
5통신망에서 길 찾기5통신망에서 길 찾기
5통신망에서 길 찾기herojoon1378
 
Project#5 통신망에서 길 찾기 Hwp
Project#5 통신망에서 길 찾기 HwpProject#5 통신망에서 길 찾기 Hwp
Project#5 통신망에서 길 찾기 HwpKimjeongmoo
 
11. array & pointer
11. array & pointer11. array & pointer
11. array & pointer웅식 전
 
Project#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort HwpProject#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort HwpKimjeongmoo
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조영기 김
 
프로젝트 보고서
프로젝트 보고서프로젝트 보고서
프로젝트 보고서hyungoh kim
 
자료구조 Project6
자료구조 Project6자료구조 Project6
자료구조 Project6KoChungWook
 
하스켈 프로그래밍 입문 2
하스켈 프로그래밍 입문 2하스켈 프로그래밍 입문 2
하스켈 프로그래밍 입문 2Kwang Yul Seo
 
2012 Dm C2 05
2012 Dm C2 052012 Dm C2 05
2012 Dm C2 05seonhyung
 

Semelhante a 이산수학 C1 프로젝트 3 (20)

2012 Ds A1 05
2012 Ds A1 052012 Ds A1 05
2012 Ds A1 05
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf
 
2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf2012 Dm A0 02 Pdf
2012 Dm A0 02 Pdf
 
이산치2번
이산치2번이산치2번
이산치2번
 
자료구조5보고서
자료구조5보고서자료구조5보고서
자료구조5보고서
 
Project#5 최단거리 찾기 D0 Hwp
Project#5 최단거리 찾기 D0 HwpProject#5 최단거리 찾기 D0 Hwp
Project#5 최단거리 찾기 D0 Hwp
 
Cpp 0x kimRyungee
Cpp 0x kimRyungeeCpp 0x kimRyungee
Cpp 0x kimRyungee
 
2012 Ds D0 01 Pdf
2012 Ds D0 01 Pdf2012 Ds D0 01 Pdf
2012 Ds D0 01 Pdf
 
2012 Ds D0 01
2012 Ds D0 012012 Ds D0 01
2012 Ds D0 01
 
5통신망에서 길 찾기
5통신망에서 길 찾기5통신망에서 길 찾기
5통신망에서 길 찾기
 
Project#5 통신망에서 길 찾기 Hwp
Project#5 통신망에서 길 찾기 HwpProject#5 통신망에서 길 찾기 Hwp
Project#5 통신망에서 길 찾기 Hwp
 
11. array & pointer
11. array & pointer11. array & pointer
11. array & pointer
 
Project#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort HwpProject#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort Hwp
 
3콤비네이션
3콤비네이션3콤비네이션
3콤비네이션
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 
3.포인터
3.포인터3.포인터
3.포인터
 
프로젝트 보고서
프로젝트 보고서프로젝트 보고서
프로젝트 보고서
 
자료구조 Project6
자료구조 Project6자료구조 Project6
자료구조 Project6
 
하스켈 프로그래밍 입문 2
하스켈 프로그래밍 입문 2하스켈 프로그래밍 입문 2
하스켈 프로그래밍 입문 2
 
2012 Dm C2 05
2012 Dm C2 052012 Dm C2 05
2012 Dm C2 05
 

Mais de pkok15

자료구조 06 최종 보고서
자료구조 06 최종 보고서자료구조 06 최종 보고서
자료구조 06 최종 보고서pkok15
 
이산수학 C1 프로젝트 5
이산수학 C1 프로젝트 5이산수학 C1 프로젝트 5
이산수학 C1 프로젝트 5pkok15
 
이산수학 C1 프로젝트 4
이산수학 C1 프로젝트 4이산수학 C1 프로젝트 4
이산수학 C1 프로젝트 4pkok15
 
이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7pkok15
 
이산수학 D1 프로젝트 1
이산수학 D1 프로젝트 1이산수학 D1 프로젝트 1
이산수학 D1 프로젝트 1pkok15
 
이산수학 D1 프로젝트 2
이산수학 D1 프로젝트 2이산수학 D1 프로젝트 2
이산수학 D1 프로젝트 2pkok15
 
자료구조 01 최종 보고서
자료구조 01 최종 보고서자료구조 01 최종 보고서
자료구조 01 최종 보고서pkok15
 
자료구조 02 최종 보고서
자료구조 02 최종 보고서자료구조 02 최종 보고서
자료구조 02 최종 보고서pkok15
 
자료구조 03 최종 보고서
자료구조 03 최종 보고서자료구조 03 최종 보고서
자료구조 03 최종 보고서pkok15
 
자료구조 04 최종 보고서
자료구조 04 최종 보고서자료구조 04 최종 보고서
자료구조 04 최종 보고서pkok15
 
자료구조 05 최종 보고서
자료구조 05 최종 보고서자료구조 05 최종 보고서
자료구조 05 최종 보고서pkok15
 

Mais de pkok15 (11)

자료구조 06 최종 보고서
자료구조 06 최종 보고서자료구조 06 최종 보고서
자료구조 06 최종 보고서
 
이산수학 C1 프로젝트 5
이산수학 C1 프로젝트 5이산수학 C1 프로젝트 5
이산수학 C1 프로젝트 5
 
이산수학 C1 프로젝트 4
이산수학 C1 프로젝트 4이산수학 C1 프로젝트 4
이산수학 C1 프로젝트 4
 
이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7
 
이산수학 D1 프로젝트 1
이산수학 D1 프로젝트 1이산수학 D1 프로젝트 1
이산수학 D1 프로젝트 1
 
이산수학 D1 프로젝트 2
이산수학 D1 프로젝트 2이산수학 D1 프로젝트 2
이산수학 D1 프로젝트 2
 
자료구조 01 최종 보고서
자료구조 01 최종 보고서자료구조 01 최종 보고서
자료구조 01 최종 보고서
 
자료구조 02 최종 보고서
자료구조 02 최종 보고서자료구조 02 최종 보고서
자료구조 02 최종 보고서
 
자료구조 03 최종 보고서
자료구조 03 최종 보고서자료구조 03 최종 보고서
자료구조 03 최종 보고서
 
자료구조 04 최종 보고서
자료구조 04 최종 보고서자료구조 04 최종 보고서
자료구조 04 최종 보고서
 
자료구조 05 최종 보고서
자료구조 05 최종 보고서자료구조 05 최종 보고서
자료구조 05 최종 보고서
 

이산수학 C1 프로젝트 3

  • 1. 이산치 수학 K-Combination C1조 조원 : 박구남,정준용,민영지,최고봉
  • 2. 1. 조원별 업무 분담 박구남 최종 보고서 작성 및 프로젝트 총괄 정준용 알고리즘에 대한 소스 구현 및 코딩 작업 최고봉 알고리즘에 대한 소스 구현 및 코딩 작업 민영지 K-Combination에 대한 자료조사 및 다른 K-sample등 자료조사 2. 일정 4/9 각 조원들 역할분담 및 자료조사 4/16 초안 검토 및 K-Combination에 관하여 토의 4/18 최종안 확인 및 보고서 작성
  • 3. 3. 자료 조사 원소의 순서 순서 유관 순서 무관 원소의 반복 k-permutation k-combination 비 반복 추출 (k-순열) (k-조합) 반복 추출 k-sample k-selection 중복 원소 추출 pattern partition k - sample 집합 S로부터 k개를 선택하는 작업 중 하나. 반복을 허락하지만, 다른 순서의 독같은 원소는 목록에서 구별된다. k - selection 집합 S로부터 k개를 선택 할 경우 반복은 허락하지만, 순서에 상관 없이 같은 원소는 동일 하게 취급하는데, 이 경우의 목록을 집합 S로부터의 k - selection라고 한다. k - permutations 집합 S로부터 k개를 선택하는데 반복은 허락하지 않는다. 하지만 선택된 원소들의 순서는 목록에서 구별한다. n개의 원소를 가진 집합으로부터 k-순열의 수는 P(n,k)혹은 nPk라는 기호를 사용한다. k - combinations
  • 4. 집합 S로부터 k개를 선택하는데 반복을 허락하지 않고 순서에 상관없이 구성. 이 같은 원소는 똑같이 취급하는 경우의 목록을 k-조합(K-Combination)라고 한다. 집합 S의 k-조합은 S의 부분 집합과 정확히 일치한다. k-조합의 수는 C(n,k)혹은 nCk라는 기호를 사용한다. 초안 #include <stdio.h> void main(){ char input[43]; char *element; int *a, *b; int n,r; int i,j; scanf("%s %d",input,&r); n = (strlen(input)-1)/2; element = (char *)malloc(n*sizeof(char)); for (i=0,j=0; i<strlen(input);i++){ if(input[i] != ',' && input[i] != '{' && input[i] !='}'){ element[j]=input[i]; j++; } } a = (int *)malloc(r*sizeof(int)); b = (int *)malloc(r*sizeof(int)); for(i=0;i<r;i++){ a[i] = 1; if(i==0) a[i] = 0; } while(a[0] !=n-r){ b[0] = a[0]; for(i=1;i<r;i++) b[i]=b[i-1]+a[i]; for(i=0;i<r;i++) printf("%c",element[b[i]]); break; } a[r-1]++; for(i=j-1;r-i<r;i--) a[r-i]=1;
  • 5. printf(","); } b[0] = a[0]; for(i=1;i<r;i++) b[i]=b[i-1]+a[i]; for(i=0;i<r;i++) printf("%c",element[b[i]]); free(element); free(a); free(b); getch(); } 초안 구현 및 문제점 b에 의해 결정되어 출력되는 원소가 해당 위치에서 출력 할 수 있는 가장 상위의 원소일때, 이과정을 최상위부터 내려오며 비교를 하는 문장을 넣지못하여 원하는 결과 값이 출력되지 않았습니다.
  • 6. 최종안 #include <stdio.h> void main(){ char input[43]; char *element; int *a, *b; int n,r; int i,j; scanf("%s %d",input,&r); n = (strlen(input)-1)/2; element = (char *)malloc(n*sizeof(char)); for (i=0,j=0; i<strlen(input);i++){ if(input[i] != ',' && input[i] != '{' && input[i] !='}'){ element[j]=input[i]; j++; } } a = (int *)malloc(r*sizeof(int)); b = (int *)malloc(r*sizeof(int)); for(i=0;i<r;i++){ a[i] = 1; if(i==0) a[i] = 0; } while(a[0] !=n-r){ b[0] = a[0]; for(i=1;i<r;i++) b[i]=b[i-1]+a[i]; for(i=0;i<r;i++) printf("%c",element[b[i]]); for(j=1; ; j++){ if(b[r-j] == n-j){ a[r-j-1]++;
  • 7. continue; } break; } a[r-1]++; for(i=j-1;r-i<r;i--) a[r-i]=1; printf(","); } b[0] = a[0]; for(i=1;i<r;i++) b[i]=b[i-1]+a[i]; for(i=0;i<r;i++) printf("%c",element[b[i]]); free(element); free(a); free(b); getch(); } 최종안 코딩을 하면서 배열에서 크기를 43으로지정(최대 20개의원소,괄호 2개, 콤마(,)19개)하여 선언하였으며, 입 력받은 문자열에서 원소를 뽑아 동적할당 된 배열에 집어넣었습니다. 프로젝트를 진행하면서.. 포인터와 배열에 관해 더 자세하게 알수 있었으며, 조원들끼리 서로 합심하여 모두 적극적 으로 참여 한 결과 프로젝트가 성공적으로 완성되었습니다. 조원들의 적극적인 참여가 일의 능률향상에 도움이 된다는것을 새삼 느꼈으며 조별활동의 장점을 새로 느낄 수 있었습니다.