0

I am writing a polynomial class but the code I have written to overload the ostream operator<< goes into a infinite loop for the first term. I tried to step through but Visual Studio 2010 goes into linker(?) code instead of only stepping through my code. (How to change the setting would help (: ) Anyway, it worked fine when I left it simple to just iterating down without much formatting. But this formatted polynomial I've made causes the infinite loop.

size = size of the coefficient array where the position in the array is the power

friend ostream &operator<<(ostream &Out, const Poly &rhs)
	{
		for(int i = (rhs.size - 1); i > 0; i--)
		{
			if(i = rhs.size - 1)
			{
				if(rhs.coeff[i] > 0)
					Out << rhs.coeff[i] << "X^" << i << " ";
				else 
					if(rhs.coeff[i] < 0)
						Out << "-" << rhs.coeff[i] << "X^" << i;
			}
			else if(rhs.coeff[i] > 0)
				Out << " + " << rhs.coeff[i] << "X^" << i;
			else if(rhs.coeff[i] < 0)
				Out << " - " << (rhs.coeff[i] * -1) << "X^" << i;
		}
		if(rhs.coeff[0] > 0)
			Out << " + " << rhs.coeff[0];
		else if(rhs.coeff[0] < 0)
			Out << " - " << (rhs.coeff[0] * -1);

		return Out;
	}
2
Contributors
2
Replies
3
Views
6 Years
Discussion Span
Last Post by riotburn
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.