01/10/2018, 01:14

Lỗi không chèn được phần tử mới trong mảng - C

void chen(){
	int viTri;
	int giaTriMoi;
	printf("
nhap vi tri ban muon chen: ");
	scanf("%d", &viTri);
	printf("
nhap gia tri ban muon chen: ");
	scanf("%d", &giaTriMoi);
	for(i=soPhanTu; i>viTri; i--){
		a[i] = a[i-1];
		a[viTri] = giaTriMoi;
	
	}
	soPhanTu++;
}

a/c cho em hỏi là chèn phần tử thế này sao không ra ạ. và sai ở đâu ạ. e thanks
Tao Không Ngu. viết 03:21 ngày 01/10/2018

Hi hainguyenhonghai1997.
Mảng trong C/C++ có kích thước cố định. Bạn không thể trèn thêm phần tử vào được.
Bạn cần dùng các cấu trúc dữ liệu có kích thước động như danh sách liên kết hoặc các cấu trúc dữ liệu được xây dựng săn.
Chúc bạn thành công.

Nguyen Ca viết 03:22 ngày 01/10/2018
a[viTri] = giaTriMoi;

sai ở đây, tại sao lại để trong vòng for?
xem ở dưới:

void ChenX (int a[], int &n, int X, int vitri){
	for (int i = n; i >vitri ; i--)
		a[i] = a[i-1] ;
	a[vitri] = X;
	n++;
}
hai viết 03:27 ngày 01/10/2018

OK. Thanks b. Mình sửa đc rồi

Bài liên quan
0