01/10/2018, 15:09

Dùng con trỏ để nhập mảng phân số nhưng không nhập được

e dùng con trỏ để nhập mảng phân số nhưng không được ạ. mọi người chỉ giúp e lỗi sai với ạ.

phanSo** nhapMangPS(int m,int n)
{
	phanSo **a;
	a = new phanSo*[m];
	for (int i = 0; i < m; i++)
	{
		*(a + i) = new phanSo[n];
		for (int j = 0; j< n; j++)
		{
			printf("tu= ");
			scanf_s("%d", &(a[i][j]->tu));
		
			printf("tu= ");
			scanf_s("%d", &(a[i][j]->mau));
		}
	}
	return a;
}
Trần Hoàn viết 17:20 ngày 01/10/2018

Tại sao lại phải dùng *(a + i) cho phức tạp như vậy?

phanSo** a = new phanSo*[m];
for (int i = 0; i < m; i += 1)
{
	a[i] = new phanSo[n];
	for (int j = 0; j< n; j++)
	{
		std::cout << "tu= ";
		std::cin >> a[i][j].tu;
		
		std::cout << "mau= ";
		std::cin >> a[i][j].mau;
	}
Nchau viết 17:21 ngày 01/10/2018

chỗ cin>>a[i][j]->tu bạn thử sửa thành a[i][j].tu xem có được không.
à cho mình hỏi nếu bạn dùng * (a+i) ở trên thì tại sao ở dưới lại không dùng *( * (a+i)+j) cho nó đồng bộ

Bài liên quan
0