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

Đề tài: Lập trình C++ | Cộng trừ nhân chia đa thức?

  1. #1
    Ngày gia nhập
    04 2009
    Bài viết
    6

    Wink Lập trình C++ | Cộng trừ nhân chia đa thức?

    Giúp em với. Các pro xem cho em các hàn có đúng hem? Em làm mà nó không chạy đúng.

    Code:
    #include<conio.h>
    #include<iostream.h>
    #include<stdio.h>
    /* dinh nghia lop da thuc co thuoc tinh va phuong thuc */
    class dt
    {
    	private:
    		int smu,*hs; //so mu lon nhat :smu
    				  //mang luu he so:*hs
    	public:
    		dt(){smu=0;hs=NULL;}   //ham khoi tao khong doi so
    		friend istream& operator >>(istream& is,dt &x);
    					//dinh nghia lai ham nhap
    		friend ostream& operator <<(ostream& os,dt x);
    					//dinh nghia lai ham xuat
    		friend dt operator + (dt x, dt y);
    					//dinh nghia toan tu +
    		friend dt operator - (dt x, dt y);
    					//dinh nghia toan tu -
    		friend dt operator * (dt x, dt y);
    					//dinh nghia toan tu *
    		friend dt operator / (dt x, dt y);
    					//dinh nghia toan tu /
    };
    istream& operator>>(istream& is,dt &x)
    {
    	cout<<"\n Nhap so mu =";is>>x.smu;
    	cout<<"\n Nhap he so:";
    	x.hs=new int[x.smu+1];
    	for (int i=0;i<=x.smu;i++)
    	{
    		cout<<"\n Nhap x^"<<i<<"=";
    		is>>x.hs[i];
    	}
    		return is;
    }
    ostream& operator <<(ostream& os,dt x)
    {
    	os<<"\n Da thuc ban vua nhap la: ";
    	for (int i=x.smu;i>1;i--)
    	{
    		if (x.hs[i]!=0)
    			os<<x.hs[i]<<"x^"<<i;
    		if (x.hs[i-1]>0)
    			os<<" + ";
    	}
    	os<<x.hs[1]<<"x";
    	if (x.hs[0]>0)
    		os<<" + "<<x.hs[0];
    	else
    		if(x.hs[0]<0) os<<x.hs[0];
    	return os;
    }
    dt operator + (dt x, dt y)
    {
    	dt kq;int moc;
    	if (x.smu==y.smu)
    	{
    		kq.smu=x.smu;
    		for(int i=kq.smu;i>=0;i--)
    		kq.hs[i]=x.hs[i]+y.hs[i];
    	}
    	if(x.smu!=y.smu)
    	{
    			if(x.smu>y.smu)
    		{
    			kq.smu=x.smu;
    			moc=y.smu;
    		}
    		else
    		{
    			kq.smu=y.smu;
    			moc=x.smu;
    		}
    	for(int i=0;i<=moc;i++)
    		kq.hs[i]=x.hs[i]+y.hs[i];
    	for(i=moc+1;i<=kq.smu;i++)
    		if (x.smu>y.smu)
    			kq.hs[i]=x.hs[i];
    		else
    			kq.hs[i]=y.hs[i];
    	}
    	return kq;
    }
    dt operator - (dt x, dt y)
    {
    	dt kq;
    int moc;
    	if (x.smu==y.smu)
    	{
    		kq.smu=x.smu;
    		for(int i=kq.smu;i>=0;i--)
    		kq.hs[i]=x.hs[i]-y.hs[i];
    	}
    	if(x.smu!=y.smu)
    	{
    		if(x.smu>y.smu)
    		{
    			kq.smu=x.smu;
    			moc=y.smu;
    		}
    		else
    		{
    			kq.smu=y.smu;
    			moc=x.smu;
    		}
    	for(int i=0;i<=moc;i++)
    		kq.hs[i]=x.hs[i]-y.hs[i];
    	for(i=moc+1;i<=kq.smu;i++)
    		if (x.smu>y.smu)
    			kq.hs[i]=x.hs[i];
    		else
    			kq.hs[i]=y.hs[i];
    	}
    	return kq;
    }
    dt operator *(dt x, dt y)
    {
    		dt kq;
    
    int moc;
    	if (x.smu == y.smu)
    	{
    		kq.smu=x.smu;
    		for(int i=kq.smu;i>=0;i--)
    		kq.hs[i]=x.hs[i]*y.hs[i];
    	}
    	if(x.smu!=y.smu)
    	{
    		if(x.smu>y.smu)
    		{
    			kq.smu=x.smu;
    			moc=y.smu;
    		}
    		else
    		{
    			kq.smu=y.smu;
    			moc=x.smu;
    		}
    	for(int i=0;i<=moc;i++)
    		kq.hs[i]=x.hs[i]*y.hs[i];
    	for(i=moc+1;i<=kq.smu;i++)
    		if (x.smu>y.smu)
    			kq.hs[i]=x.hs[i];
    		else
    			kq.hs[i]=y.hs[i];
    	}
    	return kq;
    	}
    dt operator / (dt x, dt y)
    {
    	dt kq;
    	int moc;
    	if (x.smu== y.smu)
    	{
    		kq.smu=x.smu;
    		for(int i=kq.smu;i>=0;i--)
    		kq.hs[i]=x.hs[i]/y.hs[i];
    	}
    	if(x.smu!=y.smu)
    	{
    		if(x.smu>y.smu)
    		{
    			kq.smu=x.smu;
    			moc=y.smu;
    		}
    		else
    		{
    			kq.smu=y.smu;
    			moc=x.smu;
    		}
    	for(int i=0;i<=moc;i++)
    		kq.hs[i]=x.hs[i]/y.hs[i];
    	for(i=moc+1;i<=kq.smu;i++)
    		if (x.smu>y.smu)
    			kq.hs[i]=x.hs[i];
    		else
    			kq.hs[i]=y.hs[i];
    	}
    	return kq;
    }
    void main()
    {
    	clrscr();
    	dt a,b,t,h,tich,thuong;
    	cout<<"\n Nhap da thuc A:";cin>>a;
    	cout<<a;
    	cout<<"\n Nhap da thuc B:";cin>>b;
    	cout<<b;
    	cout<<"\n";
    	cout<<"\n";
    	getch();
    	t=a+b;
    	cout<<"\n Tong cua hai da thuc la: A+B= "<<t;
    	h=a-b;
    	cout<<"\n Hieu cua hai da thuc la: A-B= "<<h;
    	tich=a*b;
    	cout<<"\n Tich cua hai da thuc la: A*B= "<<tich;
    	thuong=a/b;
    	cout<<"\n Thuong cua hai da thuc la: A/B= "<<thuong;
    	getch();
    }

    Các phép tính sai ở chỗ nào các pác ơi. Code lại cho em xin với.


    Gửi vào email này cho em: phamtuananh86@gmail.com

    Xin cảm ơn các pác rất nhiều.
    Đã được chỉnh sửa lần cuối bởi nobita_online2010 : 18-04-2009 lúc 01:11 AM.

  2. #2
    Ngày gia nhập
    04 2009
    Bài viết
    6

    Bài này em post nhầm box rồi. Các pác move về box C++ cho em với.Thank
    Welcome to http://vnitclub.org

  3. #3
    Ngày gia nhập
    04 2009
    Bài viết
    6

    KHông ai chịu xem bài và cho ý kiến chi à. Chán quá. diễn đàn buồn thế này à. Híc :((
    Welcome to http://vnitclub.org

  4. #4
    Ngày gia nhập
    06 2007
    Nơi ở
    UIT
    Bài viết
    44

    - Yêu cầu của bài ra
    - Hướng đã giải quyết
    - Lỗi -> thông báo lỗi !

    Chứ quăng một đoạn code lên rồi bảo mọi người tìm lỗi cho bạn ! Như bạn thì bạn có tìm hộ người ta không ?

  5. #5
    Ngày gia nhập
    04 2009
    Bài viết
    6

    Chạy thử hộ mình đi. Lỗi cụ thể là chia đa thức nhưng kết quả sai. híc họ đi mà làm ơn.

  6. #6
    Ngày gia nhập
    04 2009
    Bài viết
    6

    Mặc định Đây là chương trình chạy.

    Nó chạy ròi nhưng kết quả có vấn đề. Híc

    Attached Thumbnails Attached Thumbnails untitled.JPG  
    Welcome to http://vnitclub.org

  7. #7
    Ngày gia nhập
    04 2009
    Bài viết
    6

    Có ai không??? Hãy giúp mình với. Ac
    Welcome to http://vnitclub.org

  8. #8
    Ngày gia nhập
    09 2009
    Bài viết
    24

    các bác ơi chương trình nó chạy rồi nhưng kết quả không đúng thì phải. giải thuật nhân và chia bị sai. các bác sửa lại gia em ti được không???

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

  1. Trả lời: 2
    Bài viết cuối: 21-04-2013, 09:46 AM
  2. Lỗi: bố cục trang web tự tăng theo chiều ngang khi chiều cao thay đổi
    Gửi bởi tuanngocpt trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 16-03-2013, 11:25 PM
  3. Trả lời: 1
    Bài viết cuối: 28-04-2012, 09:43 PM
  4. Cách truyền mang 1 chiều cho hàm bài con trỏ và mảng một chiều ai có thể giải thích giúp mình
    Gửi bởi biencute trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 21-03-2012, 09:00 AM
  5. Lời giải bài tập: Chuỗi Ký tự, mảng số nguyên 1 chiều, mảng 2 chiều, tạo Menu
    Gửi bởi xuanngoc trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 15-10-2011, 01:17 AM

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