Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Hỏi về vị trí n++ của hàm thêm một phần tử trong mảng 1 chiều C++

22:01 26-07-2021 437 lượt xem 2 bình luận 01:40 27-07-2021

anh cho em hỏi về một chút về thuật toán với ạ, em muốn hỏi chỗ vị trí n++ của hàm thêm một phần tử trong mảng 1 chiều C++,em cảm ơn anh ạ

void themphantu(int a[],int &n,int idy,int y){
    if(idy >= 0 && idy <=n){
        for(int i = n;i > idy;i--){
            a[i]= a[i-1];
        }
    a[idy] = y;
    n++;  
    }
}

ví dụ như ở hàm trên , em đang làm mảng 1 chiều c++, em có khai các tham số trong hàm như sau, mảng a,n là số phần tử trong mảng,idy là vị trí cần thêm phần tử trong mảng,y là giá trị phần tử thêm. em đang không hiểu chỗ n++ mình nên để ở bên trên vòng for chứ, tại vì ví dụ khi mình dịch vị trí các phần tử sang phải thì vòng for sẽ chạy từ kí tự cuối cùng , nếu là 5 thì dịch sang 6, nhưng đây mình chưa tăng n, nên i mới chỉ là 5. em đang không hiểu chỗ n++ nên đặt chỗ nào ạ. mong anh giải đáp ạ, em cảm ơn anh

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 22:03 26-07-2021
n++ này mục đích là để tăng độ dài của mảng lên. Mảng của bạn ban đầu là 5 phần tử. Thêm 1 vào thì thành 6 phần tử. chỉ cần tăng n 1 lần đúng không. nếu bạn để trong for thì mỗi lần duyệt lại tăng 1 lần là sai rồi

Câu hỏi mới nhất