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);
}
Bài liên quan
*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ý
Cảm ơn nhé . Em làm được rồi .
Em vẫn chưa làm được, bị lỗi ở hàm Output
post code lên đây nè.
Dạ nó y chang cái code trên kia
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)