Advertisement
Guest User

Untitled

a guest
Sep 25th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.26 KB | None | 0 0
  1. //---------------------------------------------------------------------------
  2.  
  3. #pragma hdrstop
  4. #include <iostream.h>
  5. const int SIZE = 50;
  6.  
  7. //---------------------------------------------------------------------------
  8.  
  9. struct TVec{
  10.         float Vec[SIZE];
  11.         int size;
  12. };
  13.  
  14. float operator* (TVec v1, TVec v2){
  15.         if(v1.size != v2.size){
  16.                 cerr << "Error!!!" << endl;
  17.                 return 0;
  18.         }
  19.         float rez = 0;
  20.         for(int i = 0; i < v1.size; i++){
  21.                 rez += v1.Vec[i] * v2.Vec[i];
  22.         }
  23.         return rez;
  24. }
  25.  
  26. TVec operator+ (TVec v1, TVec v2){
  27.         TVec rez;
  28.         (v1.size > v2.size) ? rez.size = v1.size : rez.size = v2.size;
  29.  
  30.         for(int i = 0; i < rez.size; i++){
  31.                 rez.Vec[i] = v1.Vec[i] + v2.Vec[i];
  32.         }
  33.         return rez;
  34. }
  35.  
  36. TVec operator- (TVec v1, TVec v2){
  37.         TVec rez;
  38.         (v1.size > v2.size) ? rez.size = v1.size : rez.size = v2.size;
  39.  
  40.         for(int i = 0; i < rez.size; i++){
  41.                 rez.Vec[i] = v1.Vec[i] - v2.Vec[i];
  42.         }
  43.         return rez;
  44. }
  45.  
  46. istream& operator>> (istream &is, TVec &v){
  47.         for(int i = 0; i < v.size; i++){
  48.                 is >> v.Vec[i];
  49.         }
  50.         return is;
  51. }
  52.  
  53. ostream& operator<< (ostream &os, TVec v){
  54.         os << "(";
  55.         for(int i = 0; i < v.size; i++){
  56.                 os << v.Vec[i];
  57.                 if(i < v.size - 1) os << "; ";
  58.         }
  59.         os << ")" << endl;
  60.         return os;
  61. }
  62.  
  63. #pragma argsused
  64. int main(int argc, char* argv[])
  65. {
  66.         int n;
  67.         TVec v1, v2;
  68.  
  69.         cout << "Enter size of first vector: ";
  70.         cin >> n;
  71.         v1.size = n;
  72.  
  73.         cout << "Enter size of second vector: ";
  74.         cin >> n;
  75.         v2.size = n;
  76.  
  77.         cout << "Enter v1: " << endl;
  78.         cin >> v1;
  79.         cout << "Enter v2: " << endl;
  80.         cin >> v2;
  81.  
  82.         TVec S = v1 + v2, R = v1 - v2;
  83.  
  84.         cout << "Suma vectoriv: " << S;
  85.         cout << "Riznitsa vectoriv: " << R;
  86.         cout << "Mnojenia = " << v1 * v2 << endl;
  87.         cout << "d = " << S * R;
  88.         //d=(a+b)(a-b)
  89.  
  90.         cin.get();
  91.         cin.get();
  92.         return 0;
  93. }
  94. //---------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement