Ich hatte dieses eine booger eines Codes, den ich nicht in der Lage gewesen bin, meinen Kopf herum zu wickeln. Die Voraussetzung ist die Eingabe einer Reihe von Zahlen: und es wird ausgegeben: 4x^(3) + 5x^(2) + 6x^(1) + 7x^(0) mit istream und Ostream. Ich verwende einen Vektor für die Zahlen und das Problem, das ich habe, ist, dass der Vektor nicht richtig füllt.C++ Vektoren mit ostream und istream
Zum Beispiel, wenn der Vektor vec1 der obigen Eingabe aufgerufen wird, was aus:
`vec1[0]==4
vec1[1]==5
vec1[2]==6
vec1[3]==4
vec1[4]==4`
aber ich mag es Ausgabe:
`vec1[0]==3
vec1[1]==4
vec1[2]==5
vec1[3]==6
vec1[4]==7`
ich nicht in der Lage war, alle Tutorials zu finden Beispiele für die Verwendung von istream mit einem Vektor, also hoffte ich, jemand könnte mir helfen mit den Grundlagen der istream mit einem Vektor zu verwenden? Nur ein allgemeines Beispiel wäre absolut großartig!
PS: Ich bin neu in C++, also tut mir leid, wenn meine Terminologie irgendwo falsch ist.
edit: (hier ist mein istream Code zur Zeit):
istream& operator>>(istream& left, Polynomial& right) //input
{
int tsize, tmp;
while (!(left >> tsize))
{
left.clear();
left.ignore();
}
if (tsize < 0)
{
tsize *= -1;
}
vector<double>tmp1;
for (int i = 0; i < tsize; i++)
{
tmp1.push_back(0);
}
right.setPolynomial(tmp1);
for (int i = 0; i < tsize; i++)
{
while (!(left >> tmp))
{
left.clear();
left.ignore();
}
right[i]=tmp;
}
//return a value
return left;
}
`
void Polynomial::setPolynomial(vector<double>vec1)
{
for (int i = 0; i < vec1.size(); i++)
polynomial.push_back(vec1[i]);
}
Zeigen Sie uns den Code. Ich vermute, Sie haben ein paar einfache und häufige Fehler. –
'Vektor tmp1; für (int i = 0; i tmp2 (tsize);' –
PaulMcKenzie