ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 회장, 부회장 뽑기
    코딩/C언어 2019. 9. 17. 16:00
    반응형
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    #include <stdio.h>
    #include <stdlib.h>
     
    void pick(char people[][20], int itemSize, int* bucket, int bucketSize, int k) { //중복 조합
     
        int i, j, lastIndex, smallest, item, flag;
        if (k == 0) {
            for (i = 0; i < bucketSize; i++) {
                printf("%s ", people[bucket[i]]);
            }
            printf("\n");
            return;
        }
        lastIndex = bucketSize - k - 1// 가장 최근에 뽑힌 수가 저장된 위치 index
     
        smallest = 0;
     
        for (item = smallest; item < itemSize; item++) {
            flag = 0;
     
            for (j = 0; j <= lastIndex; j++)
                if (bucket[j] == item)
                    flag = 1;
     
            if (flag == 1)
                continue;
            bucket[lastIndex + 1= item;
            pick(people, itemSize, bucket, bucketSize, k - 1);
        }
    }
    int main(void)
    {
        char people[][20= { "공유""김수현""송중기""지성""현빈" };
        int * bucket, num;
     
        scanf("%d"&num);
        bucket = (int *)malloc(sizeof(int* num);
     
        pick(people, 5, bucket, num, num);
    }
    cs

     

    결과:

     

    반응형

    '코딩 > C언어' 카테고리의 다른 글

    선택정렬  (0) 2019.09.17
    학급임원 뽑기 (중복X)  (0) 2019.09.17
    수식 나열  (0) 2019.09.17
    돈 계산  (0) 2019.09.17
    공뽑기  (0) 2019.09.17
Designed by Tistory.