Составить программу, которая проверяет, если ли среди векторов v,s,t заданных своими координатами, перпендикулярные. Вычисления скалярного произведения векторов оформить в виде функции- C++(Си)

//---------------------------------------------------------------------------
#include <cmath>
#include <iostream>
#pragma hdrstop
 
using namespace std;
//---------------------------------------------------------------------------
class Vect {
    public: static double e;
            double x, y, z;
            Vect ();
            Vect (double, double, double);
            void Input ();
            friend bool Ort (Vect&, Vect&);
};
 
double Vect::e;
 
Vect::Vect () {x=0; y=0; z=0;}
 
Vect::Vect (double a, double b, double c) {
    a=x; b=y; c=z;
}
 
void Vect::Input() {
    cout <<"New vector.\nx=";
    cin >>x;
    cout <<"y=";
    cin >>y;
    cout <<"z=";
    cin >>z;
}
 
bool Ort(Vect &A, Vect &B) {
    bool p;
    if (fabs (A.x*B.x+A.y*B.y+A.z*B.z)<Vect::e) {
        p=1; cout <<"Orthogonal."<<endl; return p;}
    else {
        p=0; cout <<"Not orthogonal."<<endl; return p;
    }
}
 
#pragma argsused
int main(int argc, char *argv[])
{
    system ("title Orthogonal vectors");
    Vect::e=0.00000001; //Уступка.
    Vect v1, v2;
    v1.Input();
    v2.Input();
    Ort (v1, v2);
    system ("pause");
    return 0;
}
//---------------------------------------------------------------------------

Результат работы программы

Leave a Comment