Tách mảng trong c?

Viết hàm tách mảng a thành 2 mảng b(chứa các số nguyên dương) và mảng c(chứa các số còn lại).

Cho em hỏi khai báo m=0,p=0 và m++,p++ để làm gì vậy ạ. Em debug mà cũng k hiểu. (Xin lỗi đã làm phiền)

 int i;
            m=0;
            p=0;
            for(i=0; i<n; i++) {
                        if(a[i]>0) {
                                    b[m++] = a[i];
                        } else {
                                    c[p++] = a[i];
                        }
            }

m và p chỉ là các biến đếm cho 2 mảng b và c thôi. Còn m++, p++ chỉ là tăng giá trị lên 1, câu lệnh b[m++] = a[i] là gán phần tử thứ m của b bằng với phần tử thứ i của a và sau đó tăng m lên 1.
Có lẽ mình nói hơi khó hiểu, tốt nhất là bạn tự code thì sẽ nhanh hiểu hơn đấy. (Bài này khá dễ, hãy code thử đi). :jack_o_lantern:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?