2016-09-10 3 views
-4
#include <iostream> 
using namespace std; 

int main() { 

    int N[100000]={0}; 
    int t,i,temp;temp=0; 
    cin>>t; 

    for(i=0;i<t;i++) 
     cin>>N[i]; 
    for(i=0;i<t;i++){ 
     if(N[i+1]<N[i]) 
     temp = N[i]; 
     N[i]=N[i+1]; 
     N[i+1]=temp; 
    } 

    for(i=0;i<t;i++){ 
     cout<<N[i]<<endl; 

    } 

    return 0; 
} 

원하는 출력을 얻을 수 없습니다. 이 정렬 코드는 이전에 기억했지만, 여기에서는 작동하지 않습니다.Codechef Turbo sort에서 원하는 출력을 얻을 수 없습니다.

+0

여기 온라인 코드 심사원에 대한 질문은 삼가하십시오. 대개 공개되지 않으므로 누구나 테스트 케이스에서 실패한 곳을 알려줄 가능성은 거의 없습니다. 테스트 한 내용이 해당 지역 환경에서 실행 중이 더라도 온라인 챌린지에 적용된 일부 엣지 사례를 테스트하지 못한 것일 수 있습니다. 창의력을 발휘하여 찾아보십시오. 또한 장기적인 관점에서 볼 때 온라인 경연 대회를 속이는 것 외에는 그러한 질문에 대한 가치가 없을 것입니다. –

+0

관심있는 사람을위한 [질문에 링크] (https://www.codechef.com/problems/TSORT). 그리고 나는 "정렬"이 실제로 * 정렬 *하는 방법을 보지 못하므로이 질문에 대답 할 것입니다. 'std :: sort (N, N + t);를 사용하는 것에 문제가있다; – WhozCraig

+0

그 "분류 코드"는 절대로 작동하지 않습니다. '1'을 올바르게 분류하지 않습니다. – molbdnilo

답변

0

정렬 기능이 잘못되었습니다. 여기에 버블 정렬을 구현하려고 한 것 같습니다. 버블 정렬의 구현은 다음과 같습니다.

for (i = 0; i < t-1; i++) 
{ 
    for(int j=0;j<t-i-1;j++) 
    { 
     if (N[j] > N[j+1]) 
     { 
      temp=N[j]; 
      N[j]=N[j+1}; 
      N[j+1]=temp; 
     } 
    } 
} 

희망이 있습니다. 행운을 빕니다!

관련 문제