[LECTURE] 문제 런타임 오류인데 어떻게 해결해야 할지 모르겠습니다.

  • dy987
    dy987
    #include <iostream>
    #include <cstring>
    #include <string>
    
    using namespace std;
    
    int main(void) {
        int iCount = 0;
        char ** charString;
        char cTempSting[1000+1];
        char **desSting;
    
        cin >> iCount;
        charString = new char*[iCount];
    
        for (int i = 0; i < iCount; i++) {
            cin >> cTempSting;
            charString[i] = new char[strlen(cTempSting)];
            strcpy(charString[i], cTempSting);
        }
    
        for (int i = 0; i < iCount; i++) {
            desSting = new char* [strlen(charString[i])/2];
    
            for (int j = 0; j < strlen(charString[i])/2; j++) {
                desSting[j] = new char[3];
                desSting[j][0] = charString[i][j * 2];
                desSting[j][1] = charString[i][j * 2 + 1];
                desSting[j][2] = NULL;
            }
    
            for (int j = 0; j < strlen(charString[i]) / 2; j++) {
                for (int k = j; k < strlen(charString[i]) / 2; k++) {
                    if (strcmp(desSting[j], desSting[k]) < 1) {
                        char * tmp = new char[3];
                        strcpy(tmp, desSting[k]);
                        strcpy(desSting[k], desSting[j]);
                        strcpy(desSting[j], tmp);
                    }
                }
            }
            string p = desSting[(strlen(charString[i]) / 2)-1];
            for (int j = strlen(charString[i])/2 -2 ; j >= 0 ; j--) {
                p.append(desSting[j]);
            }
            cout << p << endl;
        }
    
        delete[] charString;
        delete[] desSting;
    
        return 0;
    }
    

    7년 전
2개의 댓글이 있습니다.
  • hyunhwan
    hyunhwan

    무슨 문제를 푸시는 중인지 적어주시지 않았네요.


    7년 전 link
  • Corea
    Corea

    문자열의 배열은 길이+1만큼 잡아주셔야하고, 문자열의 끝에는 NULL이 오도록 해야합니다.


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