#include<iostream>
#include<stdlib.h>
#include<conio.h>
using namespace std;
void nhapgiatri(int m[10][10]);
int main()
{
int a[10][10],b[10][10],c[10][10];
int row,col;
cout<<"\n nhap gia tri hang & cot : ";
cin>>row>>col;
cout<<"\n nhap gia tri mang a : ";
nhapgiatri(a);
cout<<"\n nhap gia tri mang b : ";
nhapgiatri(b);
for(int i=0;i<row;++i)
{
for(int j=0;j<col;++j)
{
*(*(c+i)+j) = *(*(a+i)+j) + *(*(b+i)+j);
}
}
cout<<"\n tong cua 2 mang da cho la : ";
for(int k=0;k<row;++k)
{
for(int l=0;l<col;++l)
{
cout<<*(*(c+k)+l)<<" ";
}
}
getch();
}
void nhapgiatri(int m[10][10])
{
int row,col;
for(int i=0;i<row;++i)
{
for(int j=0;j<col;++j)
{
cin>>m[i][j];
}
}
}
Giúp tìm lỗi trong code mảng 2 chiều bị lặp vô hạn khi nhập mảng
row, col ở hàm nhapgiatri là nó khác so với row, col ở hàm main. Bạn thử vào hàm nhapgiatri in thử 2 biến đó ra xem bao nhiêu.
lúc nó bạn sẽ tự biết phải làm gì tiếp theo
e sửa đc r ạ ? e cám ơn ạ 
Kích thước của mảng 2 chiều của bạn phải là biến toàn cục, bởi kích thược row, col bạn nhập vào đóng vai trò quan trọng trong tất cả các chương trình ở sau.
Ở đây bạn đã khai báo row, col là biến cục bộ của void nhapgiatri. Biến row, col này không liên quan đến biến row, col bạn khai báo trong hàm main. Có 2 cách sửa:
- Đưa biến
row, coltrong hàm main ra ngoài. Lúc này 2 biến này là biến toàn cục. Bỏ biếnrow, coltrongvoid nhapgiatriđi. - Vẫn giữ biến
row, coltrong hàm main, tuy nhiênvoid nhapgiatriđưa thêm 2 tham trị làrowvàcol, tức là
void nhapgiatri(m[][], row, col)
Góp ý: Bạn code C++, mình cũng mong bạn không code kiểu này nữa
Trông khổ sở kiểu gì ấy, mà trông không được sáng sủa. Khổ nhất là lúc debug.
vì e thấy trong giáo trình họ nói khi dùng con trỏ việc truy xuất bộ nhớ nhanh hơn khi dùng chỉ số mảng …nên e mới dùng chứ nhìn n cũng tù lắm ạ …
Biết là nó nhanh hơn, nhưng việc chưa nắm vững cơ bản thì bạn cần cải thiện trước đã. Cái gì cũng có 2 mặt, khi nào cầm dao chắc thì mới tập múa dao nhé.
Không nhanh hơn mấy đâu, nếu là primitive. Vả lại dùng con trỏ thì bạn có thể làm được những trick như shallow copy, dancing link, giảm mem trong QHĐ hay xử lí chuỗi chứ viết kiểu ersatz ntn thì ko phải là ứng dụng của nó.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?