01/10/2018, 15:56

Lỗi xóa 1 dòng trong mảng 2 chiều

Bài tập xóa đi 1 dòng h trong mảng 2 chiều a thì em làm như dưới ạ, nhưng đến khi compile và chạy thì khi in ra mảng sau khi xóa thì không được ạ, trong khi những bài tập khác thì in ra bình thường . Các anh có thể thể tìm và chữa lỗi code cho em được không ạ, em cảm ơn

#include <iostream>
#include <cstdlib>
#define nRow 50
#define nCol 50

using namespace std;

void NhapMang(int a[nRow][nCol],int &nrow, int &ncol)
{
	while (1)
	{
		cout<<"Nhap so hang cua mang: "<<'	';
		cin >>nrow; cout << endl;
		cout<<"Nhap so cot cua mang: "<<'	';
		cin >>ncol; cout << endl;
		if (nrow<1||nrow>nRow||ncol<1||ncol>nCol)
			continue;
		else break;
	}
	for (int i=0;i<nrow;i++)
		for (int j=0;j<ncol;j++)
			{
				cout<<"Nhap gia tri a["<<i<<"]["<<j<<"]: ";
				cin >> a[i][j]; cout<< endl;
			}
}
void LoaiBoDong(int a[nRow][nCol],int &nrow,int &ncol,int h)
{
	for (int i=h;i<nrow-1;i++)
		for (int j=0;i<ncol;j++)
		{
			a[i][j]=a[i+1][j];
		}
	nrow--;
}
void XuatMang2Chieu(int a[nRow][nCol], int nrow, int ncol)
{
	for (int i=0; i< nrow; i++)
		{
			for (int j=0; j< ncol;j++)
			{
			cout<<a[i][j]<<'	';
			}
		cout << endl;	
		}	
}
int main()
{
	int a[nRow][nCol],h,nrow, ncol;
	NhapMang(a,nrow,ncol);
	XuatMang2Chieu(a,nrow,ncol);
	cout<<"Nhap h: ";
	cin>>h; cout<< endl;
	LoaiBoDong(a,nrow,ncol,h);
	XuatMang2Chieu(a,nrow,ncol);
	system("pause");
}

Vương Hoàng viết 17:57 ngày 01/10/2018

Ở hàm LoaiBoDong bạn nên sửa vòng lặp con lại là : “int j = 0; i < ncol; j++” thành “int j = 0; j < ncol; j++”,

Bài liên quan
0