30/09/2018, 18:20

Khai báo và nhập mảng 2 chiều C++?

#include<iostream>
using namespace std;
int main()
{   
    int i,j,m,n;
    float **a;
	a=new float*[100];
	cout << "nhap so hang:";
	cin >> m;
	cout << "nhap so cot:";
	cin >> n;
	for (int i = 0; i < m; i++)
	{
		for (int j = 0; j < n; i++)
		{
			cout << "phan tu thu a[" << i << "][" << j << "]" << endl;
			cin >> a[i][j];
		}
	}
}

Anh chị giúp em sửa lỗi với ạ!

Dương Nylghara viết 20:32 ngày 30/09/2018
#include<iostream>

using namespace std;

void nhapmang(int **a, int dong, int cot)
{
    for (int i = 0; i < dong; i++)
    {
        for (int j = 0; j < cot; j++)
        {
            cout << "\nNhap vao Mang A[" << i << "]" << "[" << j << "]: ";
            cin >> a[i][j];
        
        }

    }
    //cout<<"Nhap vao mang a["
}
void xuat(int **a, int dong, int cot)
{
    for (int i = 0; i < dong; i++)
    {
        for (int j = 0; j < cot; j++)
        {
            //cout << "\nNhap vao Mang A[" << i << "]" << "[" << j << "]: ";
            cout << a[i][j]<<"    ";
        }

    }
}

int main()
{

    int **a;
    int dong, cot;
    cout << "Nhap dong: ";
    cin >> dong;
    cout << "Nhap cot: ";
    cin >> cot;
    a = new int *[dong];//// cap phat n o nho cho n con tro (n hang)  (n dong)
    /* 3x4
    1 2 3 4
    1 2 3 4
    1 2 3 4

    */
    for (int i = 0; i < dong; i++)
    {
        a[i] = new int [cot];//// cap phat m o nho cho moi con tro (moi hang)
        /*
        ví dụ có 4 hàng...thì ở mỗi hàng cấp phát 4 ô nhớ (cột)
        
        */
    }
    nhapmang(a, dong, cot);
    xuat(a, dong, cot);


    for (int i = 0; i < cot; i++)
    {
        delete[]a[i];
    }
    
    system("pause");
    return 0;
}
Cường viết 20:27 ngày 30/09/2018

Vậy là khi dùng con trỏ cho mảng 2 chiều thì trong khai báo số hàng và cột mình cũng phải dùng con trỏ ạ ?

Bài liên quan
0