01/10/2018, 08:30

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];
                        }
            }
Khoa NTA viết 10:45 ngày 01/10/2018

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).

Bài liên quan
0