01/10/2018, 14:48
Vấn đề về replace value trong 1 mảng
Xin chào mọi người. Em có 1 cái đề bài như thế này : Hãy nhập một mảng, sau đó so sánh các phần tử trong mảng với 1 biến MAX tự tạo. Nếu có phần tử nào trong mảng lớn hơn biến MAX thì thay thế phần tử đó =0
Ví dụ: Biến MAX=5, mảng A{1,4,7,8} thì khi chạy sẽ hiện là A{1,4,0,0}
hàm của em như thế này
Nhưng khi chạy console ra thì lại ntn
Em nghĩ vấn đề của em có thể liên quan tới pointer, nhưng em k rõ chính xác như thế nào. Mong mọi người chỉ em ạ. Em xin cảm ơn
Bài liên quan
In ra mà linh tinh là bạn biết bạn ít nhiều bay lố giới hạn của mảng rồi đó.
In giá trị của
i
ra nhaNgoài ra xem lại cái scanf đúng chưa luôn
em sơ ý cái scanf, em fix lại scanf rồi. Còn in ra giá trị của i là sao anh ? Tại e muốn in ra một cái mảng sau khi đã replace theo cái điều kiện cho trước
:~ Thì như trên, đọc kỹ và in ra giá trị của
i
xem nó trăng sao mà bị như thế.Mảng bắt đầu từ
i
?! Có thể bạn chưa hiểu thấu đáo đấy.Duyệt mảng nghĩa là truy cập vào từng phần tử a[i] của mảng, tức là i chạy từ 0 đến n-1.
Em in i ra thì nó như vậy
tại em cũng mới bắt đầu tự học nên còn sai sót, có gì a chỉ bảo giúp em
Mảng có 4 phần tử thì i tối đa là nhiu OvO
Cái câu lệnh printf phải cho vô vòng lặp mới in được hết tất cả các giá trị của mảng chứ.
lệnh in a[i] của bạn để ngoài vòng lặp, lúc này i có giá trị bằng 4 sau khi ra khỏi vòng lặp mà mảng của bạn chỉ có 4 phần tử nên lỗi, compiler này dễ dãi chứ gặp visual nó sẽ báo đỏ sau khi chạy, hãy học cách debug chạy từng dòng 1 để có thể tự fix những lỗi cơ bản và cả phức tạp sau này.