Klasa - ciało modulo p

Klasa - ciało modulo p
SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 61
0

Witam, potrzebuje koncepcyjnej pomocy w klasie dla ciała Z(p) - arytmetyka na liczbach modulo p, dla p = 13
Myślę, że dodawanie, odejmowanie i mnożenie najlepiej zrobić przeciążeniem operatorów, do tego metoda do obliczania elementów odwrotnych.

Nie mam pomysłu na konstruktor i resztę dorzuci ktoś coś ? ;)

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
4

Jeśli p ma być ustalane dynamicznie (np. podawane przez użytkownika) to konstruktor powinien przyjmować p oraz wartość. W przeciwnym wypadku samą wartość.

Althorion
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1620
1

Jak robisz ciała, nie pierścienie, to ja tam bym widział jeszcze przeciążony operator dzielenia.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
template<unsigned int m>
class Modulo
{
public:
    Modulo(unsigned int _x = 0) : x(_x%m) {}

    operator int() { return x; }
    Modulo<m>  operator+(const Modulo<m>& x) const;
    Modulo<m>& operator+=(const Modulo<m>& x);
    Modulo<m>  operator+(unsigned int x) const;
    Modulo<m>& operator+=(unsigned int x);

    Modulo<m>  operator*(const Modulo<m>& x) const;
    Modulo<m>& operator*=(const Modulo<m>& x);
    Modulo<m>  operator*(unsigned int x) const;
    Modulo<m>& operator*=(unsigned int x);

private:
    unsigned int x;
};

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.