Đề bài cho 1 ma trận A, yêu cầu tạo ra ma trận B từ ma trận A, điều kiện là các phần tử trong ma trận B tại vị trí i và j phải bằng tổng các chữ số của tương ứng của các phần tử trong ma trận A tại vị trí i và j. Sau đây là code của mình.
int tongsochuso(int n)
{
int s=0;
while(n!=0)
{
s=s+n%10;
n=n/10;
}
return s;
}
void mangb(int a[][100],int b[][100],int n,int m,int &p,int &q)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
b[p][q]=tongsochuso(a[i][j]);
p++;
q++;
}
}
}
int main()
{
int b[100][100]={0},a[100][100],n,m,p=0,q=0;
nhapmang(a,n,m);
xuatmang(a,n,m);
cout<<"\nMang b \n\n";
mangb(a,b,n,m,p,q);
xuatmang(b,p,q);
return 0;
}
Chạy thì đúng nhưng mà 1 nó lại xuất ra cái ma trận lớn gấp n^2 lần cái ma trận đầu với các phần tử cần tìm chạy theo đường chéo chính và các phần tử xung quanh đều bằng 0, xin mọi người cách khắc phục vấn đề này ạ

cảm ơn bạn.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?