Für Vorlesungen, bitte die Webseite verwenden. https://flavigny.de/lecture
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

52 строки
963B

  1. // Grad auswerten
  2. int Polynomial::degree ()
  3. {
  4. return maxIndex();
  5. }
  6. // Addition von Polynomen
  7. Polynomial Polynomial::operator+ (Polynomial q)
  8. {
  9. int nr=degree(); // mein grad
  10. if (q.degree()>nr) nr=q.degree();
  11. Polynomial r(nr); // Ergebnispolynom
  12. for (int i=0; i<=nr; i=i+1)
  13. {
  14. if (i<=degree())
  15. r[i] = r[i]+(*this)[i]; // add me to r
  16. if (i<=q.degree())
  17. r[i] = r[i]+q[i]; // add q to r
  18. }
  19. return r;
  20. }
  21. // Multiplikation von Polynomen
  22. Polynomial Polynomial::operator* (Polynomial q)
  23. {
  24. Polynomial r(degree()+q.degree()); // Ergebnispolynom
  25. for (int i=0; i<=degree(); i=i+1)
  26. for (int j=0; j<=q.degree(); j=j+1)
  27. r[i+j] = r[i+j] + (*this)[i]*q[j];
  28. return r;
  29. }
  30. // Drucken
  31. void Polynomial::print ()
  32. {
  33. if (degree()<0)
  34. std::cout << 0;
  35. else
  36. std::cout << (*this)[0];
  37. for (int i=1; i<=maxIndex(); i=i+1)
  38. std::cout << "+" << (*this)[i] << "*x^" << i;
  39. std::cout << std::endl;
  40. }