두 개의 어레이가있는 작은 응용 프로그램이 있습니다. 하나의 배열이 이름이고, 하나의 배열은 점수입니다. 아래의 코드는 "정렬"버튼에 있습니다. 다른 방법으로 정렬하는 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);
"지역 이름"라디오 버튼은 rbRegion입니다. – Brandon