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

  • User Avatar
    김진성

    https://algospot.com/judge/problem/read/YULO
    이 문제 풀었습니다.
    코드는
    ~~~ c++
    #include
    #include
    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;
    

    }

    //이거 구요 왜 런타임 오류가날까요 제 컴퓨터에선 잘돌아가는데...ㅠㅠ


    11년 전
1개의 댓글이 있습니다.
  • User Avatar
    hyunhwan

    다음의 글을 꼭 읽어보시길 바랍니다.
    * [[알고스팟 온라인 저지/첫 번째 문제 풀기]]
    * [[자주 하는 실수 모음]]


    11년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.