2011-10-17 4 views
2

두 개의 어레이가있는 작은 응용 프로그램이 있습니다. 하나의 배열이 이름이고, 하나의 배열은 점수입니다. 아래의 코드는 "정렬"버튼에 있습니다. 다른 방법으로 정렬하는 6 개의 라디오 버튼도 있습니다. 이 버튼 중 5 개는 작동하지만 "지역 이름"을 사용하여 정렬 할 수 없습니다. 때로는 배열에 두 개의 행을 입력하면 작동하지 않는 경우가 있습니다. 나는 이것을 거의 1 시간 동안 알아 내려고 노력했지만 왜 효과가 없는지 알 수는 없다. 거기에 어떤 아이디어가 있습니까?이름순으로 정렬 (알파벳순)

private void btnSort_Click(object sender, EventArgs e) 
     { 
      int n; 
      decimal temp; 
      int sortCol = 0; 
      string ntemp; 
      bool swapFlag; 


      if (rb1.Checked) 
       sortCol = 0; 

      if (rb2.Checked) 
       sortCol = 1; 

      if (rb3.Checked) 
       sortCol = 2; 

      if (rb4.Checked) 
       sortCol = 3; 

      if (rbTotal.Checked) 
       sortCol = 4; 

      do 
      { 
       swapFlag = false; 
       for (n = 0; n < lastIndexUsed; n++) 
       { 
        if(quarters[n,sortCol] < quarters[n+1, sortCol]) 
         { 

         //column 4 
          temp = quarters[n, 4]; 
          quarters[n, 4] = quarters[n + 1, 4]; 
          quarters[n+1, 4] = temp; 

         //col 3 
          temp = quarters[n, 3]; 
          quarters[n, 3] = quarters[n + 1, 3]; 
          quarters[n + 1, 3] = temp; 

         //col 2 

          temp = quarters[n, 2]; 
          quarters[n, 2] = quarters[n + 1, 2]; 
          quarters[n + 1, 2] = temp; 

         // col 1 
          temp = quarters[n, 1]; 
          quarters[n, 1] = quarters[n + 1, 1]; 
          quarters[n + 1, 1] = temp; 

         //col 0 
          temp = quarters[n, 0]; 
          quarters[n, 0] = quarters[n + 1, 0]; 
          quarters[n + 1, 0] = temp; 

         //name 

          ntemp = Branch[n]; 
          Branch[n] = Branch[n + 1]; 
          Branch[n + 1] = ntemp; 

          swapFlag = true; 

         }//endif 

       }//for end 

      } while (swapFlag); 
+0

"지역 이름"라디오 버튼은 rbRegion입니다. – Brandon

답변

1

어둠 속에서 촬영 : 6 개의 라디오 버튼이 있지만 5 개만 확인하고 그걸로 정렬 열을 지정하고 있다고합니다. 네 종류 중 다섯 개가 작동하고 하나도 없다면, 생략 한 버튼일까요?

정말 문제인지 알기가 어렵습니다. 해당 필드의 이름은 매우 명확하지 않습니다. "라디오 버튼 6"또는 "지역 이름별로 정렬하는 버튼"이 마음에 들지 않습니까? 무엇을 위해 무엇인가 이름을 지어 라. 을 의미한다.

+0

Rb1, rb2 등은 분기 1, 분기 2 등을 나타냅니다. rbtotal은 모두 합산 된 분기입니다. rbRegion은 지역 이름입니다. 당신이 말했듯이, 나는 또한 내가 뭔가를 버렸다고 생각하는 것 같지만 여전히이 것을 이해할 수는 없습니다. – Brandon

+0

@Brandon 게시 한 코드의 어디에서나'rbRegion'을 참조하지 마십시오. 그것이 선택되었는지 당신은보고 있지 않습니다. –

관련 문제