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
Vấn đề về replace value trong 1 mảng
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 nha
Ngoà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.
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.