ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [게임알고리즘] 1-3강 최소값, 최대값 구하기3 + 정렬
    [DSU] 게임알고리즘 2026. 3. 13. 00:17
    728x90

    이름은 A에서 Z까지이며, 각 이름별 1점에서100점까지 랜덤하게 점수입력

    1. 최저점, 최고점 출력하기

    2. 최저점, 최고점을 받은 사람 출력하기

    3. 오름차순, 내림차순으로 이름과 점수 출력하기

     

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    // Online C++ compiler to run C++ program online
    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
     
    struct Data {
        char name[2];
        int score;
    };
     
    void bubbleSort(Data* d, int n) {
        int k = n-1;
        for(int i = 0; i < k; i++) {
            for(int j = 0; j < k-i; j++) {
                if(d[j].score > d[j+1].score) {
                    Data t = d[j];
                    d[j] = d[j+1];
                    d[j+1= t;
                }
            }
        }
    }
     
    int main() {
        
        // 멀티플레이에서 같은 랜덤값 공유하기 위해서는 시드값 공유
        // 흐르는 시간은 매번 다르기 때문에 시드값으로 훌륭함
        int seed = time(NULL);
        srand(seed);
     
        // 이름은A에서Z까지이며,각이름별1점에서100점까지랜덤하게점수입력
        int num = 'Z' - 'A' + 1;
        Data* data = new Data[num];
        for(int i=0; i<num; i++)
        {
            Data* d = &data[i];
            d->name[0= 'A' + i;
            d->name[1= 0;
            d->score = 1 + rand() % 100;
        }
        
        bubbleSort(data, num);
        
        Data* dMin = &data[0];
        Data* dMax = &data[num-1];
        printf("최저점(%s, %d), 최고점(%s, %d)\n"
            dMin->name, dMin->score, dMax->name, dMax->score);
        
        printf("오름차순\n");
        for(int i=0; i<num; i++)
        {
            Data* d = &data[i];
            printf("%s = %d\n", d->name, d->score);
        }
        printf("내림차순\n");
        for(int i=0; i<num; i++)
        {
            Data* d = &data[num-1-i];
            printf("%s = %d\n", d->name, d->score);
        }
     
        delete data;
     
        return 0;
    }
     
    cs

     

    매일 매일 열심히 게임 개발하고 있습니다

     

Designed by Tistory.