ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

Листинг ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Setlocale (LC_ALL," Russian"); ΠšΠΎΠ»Π»ΠΈΠ½Π΅Π°Ρ€Π½ΠΎΡΡ‚ΡŒ. Double operator*(Vector obj). For (int i = 0; i < 3; i++). Void collinear (Vector &v). Vector operator *= (int x). Π”Π»ΠΈΠ½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π°. For (int i=0; i < 3; i++). For (int i=0; i < 3; i++). For (int i=0; i < 3; i++). Void perpend (Vector &v). Double &operator (int i). Void vectorLength (). ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ -=. Using namespace std; Coords -= a. coords; Coords -= a… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Листинг ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

#include.

#include.

using namespace std;

//Класс для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ²:

class Vector.

{.

//ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° — Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ массив-Ρ‡Π»Π΅Π½ класса:

double coords[3];

public:

//ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° [] для индСксации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

double &operator[](int i).

{.

int k=i%3;

return coords[k];

}.

//ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° () для присваивания ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

Vector operator ()(double x, double y, double z).

{.

coords[0]=x;

coords[1]=y;

coords[2]=z;

return *this;

}.

//ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° () для вычислСния Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ произвСдСния:

Vector operator ()(Vector a, Vector b).

{.

for (int i=0; i < 3; i++).

coords[i]=a[i+1]*b[i+2]-a[i+2]*b[i+1];

return *this;

}.

//ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° +.

Vector operator+ (const Vector &a).

{.

return Vector (coords[0]+a.coords[0], coords[1]+a.coords[1], coords[2]+a.coords[2]);

}.

Vector& operator += (Vector &a).

{.

coords[0] += a. coords[0];

coords[1] += a. coords[1];

coords[2] += a. coords[2];

return *this;

}.

//ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ;

Vector operator- (const Vector &a).

{.

return Vector (coords[0]-a.coords[0], coords[1]-a.coords[1], coords[2]-a.coords[2]);

}.

// ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ -=.

Vector& operator -= (Vector &a).

{.

coords[0] -= a. coords[0];

coords[1] -= a. coords[1];

coords[2] -= a. coords[2];

return *this;

}.

//ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° * для вычислСния скалярного произвСдСния:

double operator*(Vector obj).

{.

double res=0;

for (int i=0; i < 3; i++).

res+=coords[i]*obj[i];

return res;

}.

//Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‡ΠΈΡΠ»ΠΎ.

Vector operator *= (int x).

{.

for (int i = 0; i < 3; i++).

coords[i] *= x;

return *this;

}.

//ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ с Ρ‚рСмя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ:

Vector (double x, double y, double z).

{.

coords[0]=x;

coords[1]=y;

coords[2]=z;

}.

//ΠœΠ΅Ρ‚ΠΎΠ΄ для отобраТСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°:

void show ().

{.

cout << «(«<< coords[0] << «, «<< coords[1] << «, «<< coords[2]<<») «;

}.

//Π”Π»ΠΈΠ½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π°.

void vectorLength ().

{.

double res;

res = sqrt (coords[0]*coords[0] + coords[1]*coords[1] + coords[2]*coords[2]);

cout << res;

}.

//ΠšΠΎΠ»Π»ΠΈΠ½Π΅Π°Ρ€Π½ΠΎΡΡ‚ΡŒ.

void collinear (Vector &v).

{.

float a, b, c;

a=coords[0]/v.coords[0];

b=coords[1]/v.coords[1];

c=coords[2]/v.coords[2];

if (a==b==c) cout << «Π’Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ»Π»ΠΈΠ½Π΅Π°Ρ€Π½Ρ‹» <

else cout << «Π’Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π΅ ΠΊΠΎΠ»Π»ΠΈΠ½Π΅Π°Ρ€Π½Ρ‹» <

}.

//ΠŸΠ΅Ρ€ΠΏΠ΅Π½Π΄ΠΈΠΊΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ.

void perpend (Vector &v).

{.

float a=coords[0]*v.coords[0] + coords[1]*v.coords[1] + coords[2]*v.coords[2];

if (a==0) cout << «Π’Π΅ΠΊΡ‚ΠΎΡ€Π° пСрпСндикулярны» <

else cout << «Π’Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π΅ ΠΏΠ΅Ρ€ΠΏΠ΅Π½Π΄ΠΈΠΊΡƒΠ»ΡΡ€Π½Ρ‹» <

}.

//ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Vector ().

{.

for (int i=0; i < 3; i++).

coords[i]=0;

}.

friend ostream & operator<< (ostream &, const Vector &);

friend istream & operator>> (istream &, Vector &);

};

ostream& operator<< (ostream &out, const Vector &a).

{.

out << «(«<< a. coords[0] << «, «<< a. coords[1] << «, «<< a. coords[2]<<») «;

return out;

}.

int main ().

{.

setlocale (LC_ALL," Russian");

Vector a, b (2,1,3), c, d (0,0,0), e (0,0,0);

a (1,-3,4);

cout << «ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ²:» <

cout << «a = «;

a.show ();

cout << «b = «;

b.show ();

cout << «d = «;

d.show ();

cout << «e = «;

e.show ();

cout << endl;

cout << «Π‘ΡƒΠΌΠΌΠ° a + b = «<< a + b;

d += b;

cout << «Π‘ΡƒΠΌΠΌΠ° с ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ d += b: «<< d;

cout << «Π Π°Π·Π½ΠΎΡΡ‚ΡŒ a — b = «<< a — b;

e -= b;

cout << «Π Π°Π·Π½ΠΎΡΡ‚ΡŒ с ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ e -= b: «<< e;

cout << «Π‘калярноС ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ a * b = «<< a * b << endl;

if ((a * b)==0) cout << «Π’Π΅ΠΊΡ‚ΠΎΡ€Π° a ΠΈ b ΠΏΠ΅Ρ€ΠΏΠ΅Π½Π΄ΠΈΠΊΡƒΠ»ΡΡ€Π½Ρ‹ «;

else cout << «Π’Π΅ΠΊΡ‚ΠΎΡ€Π° a ΠΈ b Π½Π΅ пСрпСндикулярны «;

c (a, b);

e *= 5;

cout << «Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‡ΠΈΡΠ»ΠΎ e * 5 = «<< e;

cout << «Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ [ab] = «;

c.show ();

cout << «Π”Π»ΠΈΠ½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π° a = «;

a.vectorLength ();

cout << endl;

a.perpend (b);

a.collinear (b);

system («PAUSE»);

return 0;

}.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ