01/10/2018, 11:26

Hỏi về lỗi IndexOutOfRangeException was unhandled trong C# khi code xử lí đa thức

http://codepad.org/04OIRtF0
Chào mọi người! Đây là một đoạn code về xử lí đa thức của em! Nhưng không hiểu sao khi chạy thì hàm Nhapdathuc nó lại không nhận được giá trị và dẫn đến hàm Indathuc nó bị lỗi theo gây ra cái lỗi trên! Mong mọi người xem qua và cho em cách giải quyết! Em xin cám ơn!

HK boy viết 13:29 ngày 01/10/2018

Thực ra bạn không cần in phần tử index 0 ra trước đâu. Cứ cho vào vòng for đi. Mình nghĩ lỗi từ đây mà ra.

for (i = 0; i < soluong; i++)
    output dathuc[i]. ...
Văn Dương viết 13:32 ngày 01/10/2018

Tại sao mảng trong C# đã có Property là Length cho biết số phần tử trong mảng mà lại không dùng còn truyền thêm soluong.
Nếu soluong >=dathuc.Length thì Exception có thể xảy ra.

Lâm viết 13:30 ngày 01/10/2018

Sao vòng for lại không có ngoặc vậy bạn?

Pice Once viết 13:30 ngày 01/10/2018

vòng for nào vậy bạn!

Pice Once viết 13:29 ngày 01/10/2018

Em mới bắt đầu với C# nên em không biết cái hàm Length! Nhưng mà ở đây cái hàm Nhapdathuc em khai báo số phân tử của mảng chính bằng soluong luôn mà!

Lâm viết 13:31 ngày 01/10/2018

Vòng for bên trên chỗ báo lỗi ấy bạn.

Pice Once viết 13:27 ngày 01/10/2018

Vòng for đó đâu cần ngoặc đâu bạn! Mình chỉ viết có mỗi 1 câu lênh if…else thôi mà đâu phải nhiều lệnh đâu bạn!

Văn Dương viết 13:31 ngày 01/10/2018

Length là một thuộc tính (không phải hàm) của mảng cho biết số lượng phần tử trong mảng.

int dodaimang = mang.Length;

Lỗi IndexOutOfRange dịch ra nghĩa dân gian Tiếng Việt là:
Chỉ số (cái i đấy) để truy cập đến phần tử trong mảng vượt quá số lượng các phần tử trong mảng.
Không cần biết bạn khai báo mảng thế nào, cứ lỗi này thì i >= độ dài mảng là điều chắc chắn không cần bàn cãi.

Lâm viết 13:30 ngày 01/10/2018

Thế à bạn :))) Mình cũng chưa tìm hiểu về C# nên hơi thắc mắc :)))

Pice Once viết 13:34 ngày 01/10/2018

Anh/Chị có thể chỉ rõ mình cách sữa được không! Em vẩn chưa sửa được!

Văn Dương viết 13:40 ngày 01/10/2018

Vứt soluong đi, thay bằng dathuc.Length.

for(int i=0; i<dathuc.Length;i++){
......
}
Pice Once viết 13:41 ngày 01/10/2018

ok! Em cám ơn ạ!

Bài liên quan
0