minus i plus unarny

0

Witam,
Musze zaimplementować klasę Wielomian i podstawowe operacje na niej między innymi minus i plus unarny. Domyślam się, że jeśli chodzi o minus to stawiam minus przed całym wielomianem czyli zamieniam wszystkie znaki na przeciwne. Problem mam z plusem... bo nie bardzo wiem co on ma robić, stawiając plus przed całością nic on nie wniesie, czy źle rozumuję?
Proszę o pomoc.

0

Może plus unarny ma zmienić wszystkie znaki na plus? (unarny plus)(2-3x) = 2+3x

0

A może zwyczajnie nic nie powinien robić?
+1 to wciąż 1.

http://www.wolframalpha.com/i[...]%28%28%2B1%29%2B%28%2B2%29%29

0

Operacja matematyczna na matematycznym obiekcie powinna być zgodna z matematyką. Plus nic nie robi i tak powinno być, minus powoduje zmianę znaków na przeciwne. Takie jest moje zdanie.

Jedyne co unarny plus robi np. w C/C++ to promocja typu, w tym przypadku jednak nie ma to chyba znaczenia.

0

aha, czyli dobrze myślałem;) Dzięki;)

0

o widze ze UMCS to i ja się podepne, te samo zadanie tylko podpunkt inny musze napisac funkcje:
def repr(self):
#reprezentacja Pythonowa, a więc taka, by można było
#wykonać na niej 'eval' po to, by dostać taki sam
#wielomian z powrotem

prosiłbym o łopatologiczne wyjaśnienie co ta funkcja ma robić

0

Taaa, UMCS pozdrawia! :D
chodzi o taką reprezentację, która po wpisaniu w kod(tzn w f. eval()) da poprawne działanie. to znaczy wielomian (1+22+33) ma wyglądać jakoś tak: 1+(22)+(33).
Przynajmniej ja tak to zrozumiałem ;)

0

kurde :P (1+22+33) ma wyglądać jakoś tak: 1+(2 ** 2)+(3 ** 3).

0

Jednoargumentowy plus może coś robić, co nie znaczy że powinien.
Czasami operatory robią zupełnie co innego niż oznaczają, np. operatory przesunięć bitowych w strumieniach (cout <<).
Można sobie wyobrazić klasę, w której unarny + będzie miał znaczenie zupełnie nie związane z arytmetyką.
Chyba nawet widziałem coś takiego w Boost.Spirit.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0