c++ 로 작성후 답안 제출했는데 런타임 오류가 나네요 왜그럴까요 ㅠㅠ

  • 김진성
    김진성

    https://algospot.com/judge/problem/read/YULO
    이 문제 풀었습니다.
    코드는

    #include<iostream>
    #include <iomanip>
    using namespace std;
    
    int main()
    {
        int num = 0;
        int num2 = 0;
        int max = 0;
        int min = 100;
        double M[50][20];
        double m[50][20];
        double r[50][10];
        int cnt = 0;
        int cnt2 = 0;
        int check = 0;
        int bae[40] = { 0, };
        double bae2[50][40] = { 0, };
        int temp = 0;
        double maximum=0;
        int chk=0;
    
        while (1)
        {
            cout << "학생 수 를 입력하시오(단, 50명 이하)\n";
            cin >> num;
            if (num > 50){
                cout << "50명 이하로 입력하시오...\n";
            }
            else
                break;
        }
    
        for (int i = 0; i < num; i++)
        {
            while (1)
            {
                cout << i + 1 << "번째 테스트 케이스에 대한 인원을 입력하시오...(단, 3명이상 40명 이하)\n";
                cin >> num2;
                if (num2<3 || num2>40)
                {
                    cout << "3이상 40이하의 수를 입력하시오...\n";
                }
                else
                    break;
            }
            bae[i] = num2;
                for (int j = 0; j < bae[i]; j++)
                {
                    cout << bae[i] << "명에 대한 수만큼 점수를 입력하시오(단, 시험 점수는 0점 이상 100점 이하입니다...)\n";
                    while (1){
                        cin >> bae2[i][j];
                        if (bae2[i][j]<0 || bae2[i][j]>100)
                            cout << "0이상 100이하의 수를 입력하시오...\n";
                        else
                            break;
                    }
                }
        }
    
        for (int i = 0; i < num; i++)
        {
            for (int j = 0; j < bae[i]; j++)
            {
                for (int k = 0; k < bae[i]; k++)
                {
                    if (bae2[i][j] > bae2[i][k])
                    {
                        temp = bae2[i][j];
                        bae2[i][j] = bae2[i][k];
                        bae2[i][k] = temp;
                    }
                }
            }
        }
        for (int i = 0; i < num; i++)
        {
            for (int j = 0; j < bae[i]/2; j++)
            {
                M[i][j] = bae2[i][j];
                m[i][j] = bae2[i][bae[i] -1 - j];
                if ((bae[i] % 2) != 0)
                {
                    r[i][0] = bae2[i][(bae[i] / 2)];
                    r[i][j + 1] = (M[i][j] + m[i][j]) / 2;
                }
                else
                {
                    r[i][j] = (M[i][j] + m[i][j]) / 2;
                }
            }
        }
        for (int i = 0; i < num; i++)
        {
            for (int j = 0; j < (bae[i] / 2) +1; j++)
            {
                if (chk != i)
                {
                    chk = i;
                    cout.precision(1);
                    cout << fixed;
                    cout << maximum <<endl;
                    maximum = 0;
                    j = 0;
                }
                if (chk == i)
                {
                    if (r[i][j]>maximum)
                        maximum = r[i][j];
                    if (i == num - 1 && j == (bae[i] / 2))
                    {
                        cout << maximum;
                    }
                }
            }
        }
        return 0;
    }
    
    
    //이거 구요 왜 런타임 오류가날까요 제 컴퓨터에선 잘돌아가는데...ㅠㅠ
    

    9년 전