Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Tại sao truyền biến bằng con trỏ thì bị lỗi!

  1. #1
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Mặc định Tại sao truyền biến bằng con trỏ thì bị lỗi!

    Chương trình của mình là nhập hai đa thức, sau đó sử dụng phép công hai đa thức vừa nhập. Chương trình của mình như sau:
    Code:
    #include<iostream.h>
    class dathuc
    {
    	public:
    		void nhap(int bac, int *heso);
    		void cong(int bac, int *heso1, int *heso2);
    };
    void dathuc::nhap(int bac,int *heso)
    {
    	cout<<"Nhap cac he so:";
    	heso = new int[bac+1];
    	for(int i=0;i<=bac;i++)
    		{
    			cout<<"heso["<<i<<"] = ";
    			cin>>*(heso+i);
    		}
    		cout<<"Da thuc ban vua nhap la:";
    	for(int i=0;i<bac;i++)
    		{
    			cout<<*(heso+i)<<"x^"<<i<<" +";
    		}
    		cout<<*(heso+bac)<<"x^"<<bac;
    }
    void cong(int bac, int *heso1, int *heso2)
    {
    	int *tong;
    	tong  = new int[bac+1];
    	for(int i=0;i<=bac;i++) *(tong+i) = *(heso1+i)+*(heso2+i);
    	cout<<"Tong hai da thuc vua nhap la:";
    	for(int i=0;i<bac;i++) cout<<*(tong+i)<<"x^"<<i<<" +";
    	cout<<*(tong +bac)<<"x^"<<bac;
    }
    int main()
    {
    	dathuc ob;
    	int bac;
    	int *a,*b;
    	cout<<"nhap bac da thuc: ";
    	cin>>bac;
    	ob.nhap(bac,a);
    	ob.nhap(bac,b);
    	ob.cong(bac,a,b);
    	return 0;
    }
    Chương trình bị lỗi. Bạn nào phân tích lỗi giùm mình nhé. Cảm ơn nhiều!
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

  2. #2
    Ngày gia nhập
    01 2011
    Nơi ở
    -Mountain-
    Bài viết
    768

    void cong(int bac, int *heso1, int *heso2)
    Hàm này bạn định nghĩa trong hay ngoài class vậy
    ps: Mà cái tiêu đề thì vui nha . Mình đọc ko có thấy liên quan tới nội dung :">
    Hướng dẫn C++: https://www.youtube.com/watch?v=BwLodoQdoY4&list=PL1c9Uxlo-mplJDRGdONNupgo5OCBTyGGn

  3. #3
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Ờ nhỉ! Cảm ơn nha. Để mình coi lại. Giốt thế chứ:((
    .....5p...
    ..vẫn sai bạn à
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

  4. #4
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Ờ, mình vừa sửa xong. Mình post cho các bạn tham khảo nhé:
    Code:
    #include<iostream.h>
    class dathuc
    {
    	public:
    		void nhap(int bac, int *&heso);
    		void cong(int bac, int *&heso1, int *&heso2);
    };
    void dathuc::nhap(int bac,int *&heso)
    {
    	cout<<"\nNhap cac he so:";
    	heso = new int[bac+1];
    	for(int i=0;i<=bac;i++)
    		{
    			cout<<"heso["<<i<<"] = ";
    			cin>>*(heso+i);
    		}
    		cout<<"Da thuc ban vua nhap la:";
    	for(int i=0;i<bac;i++)
    		{
    			cout<<*(heso+i)<<"x^"<<i<<" +";
    		}
    		cout<<*(heso+bac)<<"x^"<<bac;
    }
    void dathuc::cong(int bac, int *&heso1, int *&heso2)
    {
    	int *tong;
    	tong  = new int[bac+1];
    	for(int i=0;i<=bac;i++) *(tong+i) = *(heso1+i)+*(heso2+i);
    	cout<<"\nTong hai da thuc vua nhap la:";
    	for(int i=0;i<bac;i++) cout<<*(tong+i)<<"x^"<<i<<" +";
    	cout<<*(tong +bac)<<"x^"<<bac;
    	cout<<"\n";
    }
    int main()
    {
    	dathuc ob;
    	int bac;
    	int *a,*b;
    	cout<<"nhap bac da thuc: ";
    	cin>>bac;
    	ob.nhap(bac,a);
    	ob.nhap(bac,b);
    	ob.cong(bac,a,b);
    	return 0;
    }
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

  5. #5
    Ngày gia nhập
    09 2011
    Bài viết
    10

    híc, cũng đang chập chững học cái này. hazai

  6. #6
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Mặc định Tại sao truyền biến bằng con trỏ thì bị lỗi!

    Xem cái code này giúp mình ở hàm nhân nhé bạn, lại bị lỗi:
    Code:
    #include<iostream.h>
    class dathuc
    {
    	public:
    		void nhap(int bac, int *&heso);
    		void cong(int bac, int *&heso1, int *&heso2);
    		void tru(int bac, int *&heso1, int *&heso2);
    		void nhan(int bac, int *&heso1, int *&heso2);
    };
    void dathuc::nhap(int bac,int *&heso)
    {
    	cout<<"\nNhap cac he so:";
    	heso = new int[bac+1];
    	for(int i=0;i<=bac;i++)
    		{
    			cout<<"heso["<<i<<"] = ";
    			cin>>*(heso+i);
    		}
    		cout<<"Da thuc ban vua nhap la:";
    	for(int i=0;i<bac;i++)
    		{
    			cout<<*(heso+i)<<"x^"<<i<<" +";
    		}
    		cout<<*(heso+bac)<<"x^"<<bac;
    }
    void dathuc::cong(int bac, int *&heso1, int *&heso2)
    {
    	int *tong;
    	tong  = new int[bac+1];
    	for(int i=0;i<=bac;i++) *(tong+i) = *(heso1+i)+*(heso2+i);
    	cout<<"\nTong hai da thuc vua nhap la:";
    	for(int i=0;i<bac;i++) cout<<*(tong+i)<<"x^"<<i<<" +";
    	cout<<*(tong +bac)<<"x^"<<bac;
    	cout<<"\n";
    }
    void dathuc::tru(int bac, int *&heso1, int *&heso2)
    {
    	int *hieu;
    	hieu  = new int[bac+1];
    	for(int i=0;i<=bac;i++) *(hieu+i) = *(heso1+i)-*(heso2+i);
    	cout<<"\nHieu hai da thuc vua nhap la:";
    	for(int i=0;i<bac;i++) cout<<*(hieu+i)<<"x^"<<i<<" +";
    	cout<<*(hieu +bac)<<"x^"<<bac;
    	cout<<"\n";
    }
    void dathuc::nhan(int bac, int *&heso1, int *&heso2)
    {
    	int *tich;
    	tich  = new int[bac+1];
    	for(int i=0;i<=bac;i++) *(tich+i) = *(heso1+i)-*(heso2+i);
    	cout<<"\nTich hai da thuc vua nhap la:";
    	for(int i=0;i<bac;i++) cout<<*(tich+i)<<"x^"<<i<<" +";
    	cout<<*(tich +bac)<<"x^"<<bac;
    	cout<<"\n";
    }
    void menu()
    {
    	
    }
    int main()
    {
    	dathuc ob;
    	int bac;
    	int *a,*b;
    	cout<<"nhap bac da thuc: ";
    	cin>>bac;
    	ob.nhap(bac,a);
    	ob.nhap(bac,b);
    	ob.cong(bac,a,b);
    	ob.tru(bac,a,b);
    	ob.nhan(bac,a,b);
    	return 0;
    }
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

  7. #7
    Ngày gia nhập
    08 2011
    Nơi ở
    /pentest
    Bài viết
    44

    Bạn có thể giải thích dùm mình tại sao bạn dùm *& cho heso2 không?
    We are oft to blame in this...'Tis too much proved.
    - That with devotion's visage and pious action we do sugar o'er the devil himself.

Các đề tài tương tự

  1. Kỹ thuật C Lỗi khi truyền biến vào hàm.
    Gửi bởi darkboys trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 02-10-2013, 08:02 PM
  2. Truyền biến giữa 2 website như thế nào?
    Gửi bởi theanh3112 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 12-01-2011, 12:29 PM
  3. Truyền biến từ DataGridView qua Form khác!???
    Gửi bởi minhhn0205 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 12-04-2010, 10:13 AM
  4. truyền biến vào hàm trong C???
    Gửi bởi kieutuan trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 30-12-2009, 07:29 PM
  5. Cách truyền dữ liệu cho biến trên c# như thế nào?
    Gửi bởi C_moi_hoc trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 27-05-2009, 06:02 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn