• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

اشکال در برنامه polynomial

nafar_2konkor

Registered User
تاریخ عضویت
31 آگوست 2007
نوشته‌ها
95
لایک‌ها
1
سلام .اگه کسی میتونه لطفا اشکال این برنامه رو تا فردا رفع کنه . این برنامه برای نوشتن چند جمله ای و جمع دو چند جمله ای با همه. در این کلاس یه اشاره گر برای توان و یکی برای ضریبه وmaxdegree هم بیشترین درجه هر
چند جمله ایه . ساختار کلی برنامم میخوام همین باشه .فقط لطفا اشکالشو بگید (اینو برای این گفتم چون میدونم همین برنامه رو با یه سرچ توی گوگل میتونم پیدا کنم ولی من میخوام اشکال همین برنامه رو رفع کنم)
کد:
#include <iostream.h>
class poly{
	friend ostream& operator<<(ostream &,poly);
friend istream& operator>>(istream &,poly);
public:
	poly(int=0);
	poly &operator+(poly);
		


private:
	float *zarib;
	int *tavan;
	int maxdegree;
};
poly::poly(int d)
{maxdegree=d;
tavan=new int[maxdegree];
zarib=new float[maxdegree];

}

istream &operator>>(istream &input,poly p)
{for(int i=0;i<maxdegree;i++)

{cout<<"enter"<<i<<"omin zarib";
input>>p.zarib[i];
	cout<<"enter"<<i<<"omin tavan";
input>>p.tavan[i];
}
}

ostream &operator<<(ostream &output,poly p)
{for(int i=0;i<maxdegree-1;i++)
{if(p.zarib[i]!=0)
output<<p.zarib[i]<<"x"<<p.tavan<<"+";
}
if(p.zarib[i]!=0)
output<<p.zarib[i]<<"x"<<p.tavan;
}


poly &poly::operator+(poly p)
{
maxdegree=(maxdegree>p.maxdegree ?maxdegree:p.maxdegree);
poly d(maxdegree);
d.tavan=new int [maxdegree+1];
d.zarib=new float[maxdegree+1];
for(int i=0;i<maxdegree;i++)
{
	d.tavan[i]=tavan[i];
d.zarib[i]=zarib[i]+p.zarib[i];
} 
}
void main()
{poly a(3);
cin>>a;
poly b(4);
cin>>b;
cout<<a+b;
}
 

nafar_2konkor

Registered User
تاریخ عضویت
31 آگوست 2007
نوشته‌ها
95
لایک‌ها
1
یعنی هیچ کس بلد نبوده اشکالشو رفع کنه!؟:eek:
 
بالا