Advertisement
alexdmin

8.4

May 24th, 2021
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.41 KB | None | 0 0
  1. #include<iostream>
  2. #include<cmath>
  3. #include<ctime>
  4. #include<iomanip>
  5. using namespace std;
  6. const int n = 100;
  7. class vector {
  8. public:
  9.     int l;
  10.     int* arr;
  11.     vector() {
  12.         arr = new int[n];
  13.         l = n;
  14.     }
  15.     vector(int p) {
  16.         arr = new int[p];
  17.         l = p;
  18.     }
  19.                                                                                                                                                                                                                                                      vector(vector& a) {    this->l = a.l;  this->arr = a.arr;}
  20.                                                                                                                                                                                                                                                          void r(int o) {    int* arr1 = new int[o];for (int i = 0; i < l; i++) {    arr[i] = arr1[i];}delete[] arr;arr = arr1;delete[] arr1;arr1 = NULL;}
  21.     void raz(int l) {
  22.         this->l = l;
  23.     }
  24.     int kol() {
  25.         return l;
  26.     }
  27.     vector copys(vector& a) // копирование
  28.     {
  29.         int p = a.l;
  30.         arr = new int[p];
  31.         for (int i = 0; i < p; i++)
  32.         {
  33.             arr[i] = a.arr[i];
  34.         }
  35.         return *arr;
  36.     }
  37.     int at(int o) {
  38.         if (o<0 || o>l) {
  39.             cout << "Vyxod za predela vectora" << endl;
  40.             return 0;
  41.         }
  42.         else {
  43.             return arr[o];
  44.         }
  45.     }
  46.     void zanes(int f, int k) {
  47.         if (k<0 || k>l) {
  48.             cout << "Vyxod za predela vectora" << endl;
  49.         }
  50.         else {
  51.             arr[k] = f;
  52.         }
  53.     }
  54.     int umn(vector& a) {
  55.         int sum = 0, vr = 0;
  56.         if (a.l != this->l) return 0;
  57.         for (int i = 0; i < l; i++) {
  58.             vr = a.arr[i] * arr[i];
  59.             sum += vr;
  60.         }
  61.         return sum;
  62.     }
  63.     int dlina() {
  64.         int sum = 0;;
  65.         for (int i = 0; i < l; i++) {
  66.             sum += pow(arr[i], 2);
  67.         }
  68.         sum = pow(sum, 0.5);
  69.         return sum;
  70.     }
  71.     void random() {
  72.         srand(time(0));
  73.         for (int i = 0; i < l; i++) {
  74.             arr[i] = rand() % 101 - 50;
  75.             cout << setw(4) << arr[i];
  76.         }
  77.     }
  78.     void vvod() {
  79.         for (int i = 0; i < l; i++) {
  80.             cin >> arr[i];
  81.         }
  82.     }
  83.     void vyvod() {
  84.         for (int i = 0; i < l; i++) {
  85.             cout << setw(3) << arr[i];
  86.         }
  87.     }
  88.     ~vector() {
  89.         cout << "destruct" << endl;
  90.     }
  91. };
  92. void ort(vector a, vector b, vector c) {
  93.     int l;
  94.     l = a.umn(b);
  95.     if (l == 0) cout << "Vector 1 and vector 2 ortogonalny" << endl;
  96.     l = a.umn(c);
  97.     if (l == 0) cout << "Vector 1 and vector 3 ortogonalny" << endl;
  98.     l = b.umn(c);
  99.     if (l == 0) cout << "Vector 2 and vector 3 ortogonalny" << endl;
  100. }
  101. void main() {
  102.     setlocale(LC_ALL, "rus");
  103.     int k, l, x;
  104.     vector a;
  105.     vector b;
  106.     vector c;
  107.     cout << "Введите размер вектора" << endl;
  108.     cin >> k;
  109.     a.raz(k);
  110.     b.raz(k);
  111.     c.raz(k);
  112.     cout << "1 - ввод с клавиатуры" << endl << "2 - ввод рандомных значений" << endl;
  113.     cin >> x;
  114.     if (x == 1) {
  115.         cout << "Vector 1:" << endl;
  116.         a.vvod();
  117.         cout << endl << "Длина вектора 1 = " << a.dlina() << endl;
  118.         cout << "Vector 2:" << endl;
  119.         b.vvod();
  120.         cout << endl << "Длина вектора 2 = " << b.dlina() << endl;
  121.         cout << "Vector 3:" << endl;
  122.         c.vvod();
  123.         cout << endl << "Длина вектора 3 = " << c.dlina() << endl;
  124.     }
  125.     else {
  126.         a.random();
  127.         cout << endl << "Длина вектора 1 = " << a.dlina() << endl;
  128.         b.random();
  129.         cout << endl << "Длина вектора 2 = " << b.dlina() << endl;
  130.         c.random();
  131.         cout << endl << "Длина вектора 3 = " << c.dlina() << endl;
  132.     }
  133.     ort(a, b, c);
  134.     system("pause");
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement