-
13-04-2010, 03:14 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
con trỏ trong C++ có tác dụng gì?
Mình mới học C++ nhưng khi học đến con trỏ thì cũng chưa chắc chắn lắm mình chưa hiểu kỹ về con trỏ có tình huống này mình không giải thích được mong các pác chỉ dùm cái
#include <iostream.h>
int main()
{
int *mang,*mang2;
int hang, cot;
cout<<"hang";
cin>>hang;
cout<<"cot";
cin>>cot;
mang=new int[hang,cot];
for(int i=0;i<hang;i++)
{
for(int j=0;j<cot;j++)
{
cin>>mang[i,j];
}
}
mang2=new int[hang,cot];
for(int k=0;k<hang;k++)
{
for(int z=0;z<cot;z++)
{
cin>>mang2[k,z];
}
}
int *mang3=new int[hang,cot];
for(int l=0;l<hang;l++)
{
for(int h=0;h<cot;h++)
{
mang3[l,h]=mang2[l,h]+mang[l,h];
}
}
for(int n=0;n<hang;n++)
{
for(int m=0;m<cot;m++)
{
cout<<mang3[n,m];
}
cout<<"
";
}
return 0;
}
mang=
2 2
2 2
mang2=
2 2
2 2
khi in ra ket qua sẽ đựoc là
4 4
4 4
tức là đúng rồi
còn trưong hợp mình sữa lại đoạn code như sau
#include <iostream.h>
int main()
{
int *mang,*mang2;
int hang, cot;
cout<<"hang";
cin>>hang;
cout<<"cot";
cin>>cot;
mang=new int[hang,cot];
/hap su lieu cho mang 2 chieu
for(int i=0;i<hang;i++)
{
for(int j=0;j<cot;j++)
{
cin>>mang[i,j];
}
}
/hap su lieu cho mang 2 chieu
mang2=new int[hang,cot];
/tien hanh cong 2 ma tran va gan cho ma tran "mang" luong
for(int k=0;k<hang;k++)
{
for(int z=0;z<cot;z++)
{
cin>>mang2[k,z];
}
}
for(int l=0;l<hang;l++)
{
for(int h=0;h<cot;h++)
{
mang2[l,h]=mang2[l,h]+mang[l,h];
}
}
//in ra mang ket qua
for(int n=0;n<hang;n++)
{
for(int m=0;m<cot;m++)
{
cout<<mang2[n,m];
}
cout<<"
";
}
return 0;
}
6 6
6 6
không hỉu tại sao lại bằng 6.
mong các pác giúp em với.View more random threads:
- Heap_sort...
- thắc mắc về hàm và kiểu dữ liệu trong C
- Xuất chuỗi kí tự bằng con trỏ, giúp mình!!!
- Tài liệu lập trình c++
- help mọi người ơi!ko biết làm sao cả
- Hàm thiết lập trong kế thừa và lớp bạn
- Bài tập về đồ họa trong C
- Chào mọi người, em mới học C++, nhờ mọi người giúp em vấn đề này. CÁm ơn mọi người nhiều :D
- quản lí nhân viên
- Các bạn giải thích giúp mình lỗi này với "undefined symbol Null"
-
14-04-2010, 10:21 AM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
mình đang bí có pác nào biết chỉ với
-
14-04-2010, 02:33 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Trước hết bạn phải phân biệt được tham biến và tham trị trong chương trình con...Tham chiếu trong C/C++ chính là tham biến
Còn ngược lại là tham trị.
Tham chiếu có nghĩa là bạn muốn thao tác trực tiếp trên vùng nhớ đó.Nó chỉ có ý nghĩa khi bạn dùng làm đối số cho chương trình con(giống kiểu Var của pascal) ví dụ______
a=1;
ham1(int &a)
{
a=2;
}
ham1(a);
ra ngoài hàm có kết quả a=2(nếu mà không có & thì a vẫn =1)
Tuy nhiên bạn có thể dùng con trỏ để chỉ đến một vùng nhớ và nhờ con trỏ này để thao tác trực tiếp trên vùng nhớ đó
Và bây giờ nó thực hiện chức năng của biến tham chiếu
ví dụ
ham2(int *p)
{
*p=2;
}
a=1;
ham2(a);
(kết quả a=2)
hêhê!!!!!!!
-
15-04-2010, 08:19 AM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi vuonghuynhit
-
15-04-2010, 07:06 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi vuonghuynhit
-
17-04-2010, 06:16 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi langmanGửi bởi vuonghuynhit
thì khi ra ngoài hàm kết quả a==2 thì là đúng chứ. tham số yêu cầu là tham biến mà bạn lại truyền tham trị thì sẽ lỗi đó, ai có thể giải thích dùm câu hỏi của mình dùm không.ở đây mình cũng dùng con trỏ nhưng hắn không cho cộng dồn giá trị vào mình nghĩ là sai ở toán tử +=.
Pallet nhựa Lâm Đồng giải pháp hoàn hảo cho nhà kho Pallet nhựa Lâm Đồng là một giải pháp đa năng và hiệu quả trong việc vận chuyển và lưu trữ hàng hóa. Trong đó, pallet nhựa Lâm Đồng không chỉ đáp...
Pallet nhựa Lâm Đồng giải pháp...