30/09/2018, 17:34

Thắc mắc bài tập C++

Em đang tập tành viết đoạn mã gọi hàm in ra ma trận theo dạng con trỏ mảng nhiều chiều . Cơ mà làm thế nào nó cũng in ra đoạn ma trận toàn số == 0 . Ai chỉ ra chỗ sai giùm em dược không ?

#include <conio.h>
#include <iostream.h>
void input(int **,int,int);
void output(int **,int,int);

void input(int **a,int n,int m)
{
 int i,j;
 a=new int*[n];
 for (i=0;i<n;i++)
 {
 a[i]=new int[m];
   for (j=0;j<m;j++)
   {
   cout<<"Nhap phan tu a["<<i<<","<<j<<"]=";
   cin>>a[i][j];
   }
 }
}
void output(int **a,int n,int m)
{
 int i,j;
  for (i=0;i<n;i++)
  {
  for (j=0;j<m;j++) cout<<a[i][j]<<" ";
  cout<<endl;
  }
}

void main()
{
 int **a,n,m;
 cout<<"Nhap so hang ";
 cin>>n;
 cout<<"Nhap so cot ";
 cin>>m;
 input(a,n,m);
 output(a,n,m);
}
Gió viết 19:39 ngày 30/09/2018

*int * a nó là giá trị con trỏ truyền vào hàm nên khi gán a=… thì ra khỏi hàm nó k bị thay đổi. Có thể thay = input(int * * & a) hoặc input(int * * * a) tuỳ vào cách xử lý

Khang viết 19:39 ngày 30/09/2018

Cảm ơn nhé . Em làm được rồi .

nhatlonggunz viết 19:43 ngày 30/09/2018

Em vẫn chưa làm được, bị lỗi ở hàm Output

Minh Hoàng viết 19:50 ngày 30/09/2018

post code lên đây nè.

nhatlonggunz viết 19:49 ngày 30/09/2018

Dạ nó y chang cái code trên kia

Minh Hoàng viết 19:42 ngày 30/09/2018

Anh Gió có hướng dẫn rồi đó, Dùng prototype này ở cả input và output xem. void input(int **&a,int n,int m)

Bài liên quan
0