30/09/2018, 17:06
xuất hiện ngoại lệ trong c#
em code sự kiện click , để sắp xếp mảng tăng dần nhưng tới đoạn so sánh thì xuất hiện ngoại lệ exeption , mong a e chỉ giúp
public void btThucHien_Click(object sender, EventArgs e)
{
if(rbtTang.Checked == true)
{
for ( i = 0; i < n-1; i++)
for (int j = i + 1; i < n; j++)
{
if (array[i] > array[j]) // xuất hiện ngoại lệ
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
mang = "";
for (int i = 0; i <= n; i++)
mang = mang + " " + array[i].ToString();
tbKetQua.Text = mang.Trim();
}
}
Bài liên quan
E nên dùng
try ... catch()
để handler ngoại lệ, xem nó bị lỗi gì,Ngoài ra, biến
n
của e là gì? a ngĩ là số lượng phần tử mảng, và biếni
nữa…không thấy khai báoE kiểm tra xem
i,j
có vượt quá số lượng phần tử mảng hay k, mảngarray
đã được khởi tạo giá trị chưa?Chỗ đáng ngi nhất
for (int i = 0; i <= n; i++)
có lẽfor (int i = 0; i <n; i++)
mới đúngbiến n em khai báo ở trên rồi a . đây là đoạn code của em . e dg code 2 sự kiện nhập mảng và thực hiện sắp xếp . mong a chỉ giúp .đây là code form , xử lí 2 sự kiện
Sao lại là
i<n
mà không fai làj<n
, biếnj
cứ tăng hoài nên vượt quá số lượng phần tử của mảng thôi e!Thuật toán của e cũng không đúng nữa, a sửa lại chạy có vẻ ổn khi sắp tăng, e làm tương tự cho trường hợp sắp xếp giảm