// Mnozenie wektora przez skalar Vect operator*(const Vect &p, double d) { Vect z(p.getDimension()); for(int i=0; i<p.getDimension(); i++) z.setCoordinate(i,d*p.getCoordinate(i)); return z; };
// Konstruktor kopiujacy Vect::Vect(const Vect &w) { dim = w.getDimension(); v = new double[w.getDimension()]; for (int i = 0; i < w.getDimension(); i++) setCoordinate(i, w.getCoordinate(i)); }
Vect operator-(const Vect &w1, const Vect &w2) { assert (w1.getDimension() == w2.getDimension()); Vect w(w1.getDimension()); w = w1; w -= w2; return w; }
double operator*(const Vect &w1, const Vect &w2) { assert (w1.getDimension() == w2.getDimension()); double d = 0; for (int i = 0; i < w1.getDimension(); i++) d = d + w1.getCoordinate(i) * w2.getCoordinate(i); return d; }
Vect operator*(const Vect &w, double d) { Vect r(w.getDimension()); r = w; for (int i = 0; i < w.getDimension(); i++) r.setCoordinate(i, d * w.getCoordinate(i)); return r; }
// Mno¿enie wektora przez skalar Vect operator*(const Vect &p, double d) { Vect g(p.getDimension()); for (int i=0; i<p.getDimension(); i++) g.setCoordinate(i,p.getCoordinate(i)*d); return g; }
Vect operator-(const Vect &p1, const Vect &p2) { assert(p1.getDimension() == p2.getDimension()); Vect p4(p1.getDimension()); p4 = p1; p4 -= p2; return p4; }
// Iloczyn skalarny double operator*(const Vect &p1, const Vect &p2) { assert (p1.getDimension() == p2.getDimension()); double wynik = 0; for(int i=0; i<p1.getDimension(); i++) wynik += (p1.getCoordinate(i) * p2.getCoordinate(i)); return wynik; };
// konstruktor kopiuj¹cy Vect::Vect(const Vect &w) { dim = w.getDimension(); v = new double[w.getDimension()]; for (int i=0; i<dim; i++) { //assert(i < dim); v[i] = w.v[i]; } }
Vect operator-(const Vect &p1, const Vect &p2) { assert (p1.getDimension() == p2.getDimension()); Vect w(p1.getDimension()); w = p1; w -= p2; return w; };
Vect operator-(const Vect &p1, const Vect &p2){ assert(p1.getDimension()==p2.getDimension()); Vect k(p1.getDimension()); for(int i = 1; i <= k.getDimension(); i++){ k.setCoordinate(i,p1.getCoordinate(i)-p2.getCoordinate(i)); } return k; }
// Nie z cia³a klasy Vect operator+(const Vect &p1, const Vect &p2) { assert (p1.getDimension() == p2.getDimension()); Vect p3(p1.getDimension()); for (int i=0; i<p1.getDimension(); i++) p3.setCoordinate(i, p1.getCoordinate(i) + p2.getCoordinate(i)); return p3; }
double operator*(const Vect &p1, const Vect &p2){ assert(p1.getDimension()==p2.getDimension()); double output = 0; for(int i = 1; i <= p1.getDimension(); i++){ output += p1.getCoordinate(i)*p2.getCoordinate(i); } return output; }
Vect::Vect(const Vect &w){ dim = w.getDimension(); v = new double[w.getDimension()]; for(int i = 1; i <= dim; i++){ v[i-1]=w.getCoordinate(i); } }
// Iloczyn skalarny double operator*(const Vect &p1, const Vect &p2) { assert (p1.getDimension() == p2.getDimension()); double skal=0; for (int i=0; i<p1.getDimension(); i++) skal += (p1.getCoordinate(i)*p2.getCoordinate(i)); return skal; }
Vect operator*(double d, const Vect& p){ Vect k(p.getDimension()); k = p * d; return k; }
Vect operator*(const Vect &p, double d){ Vect k(p.getDimension()); for(int i = 1; i <= k.getDimension(); i++){ k.setCoordinate(i,p.getCoordinate(i)*d); } return k; }
// Iloczyn skalarny double operator*(const Vect &p1, const Vect &p2){ assert (p1.getDimension() == p2.getDimension()); double skalar=0; for (int i=0; i<p1.getDimension();i++){ skalar=skalar+p1.getCoordinate(i)*p2.getCoordinate(i);} return skalar;}
// Mnozenie wektora przez skalar Vect operator*(const Vect &p, double d){ Vect x(p); x=p; for(int i=0; i<p.getDimension(); i++) x.setCoordinate(i, d* p.getCoordinate(i)); return x;}