Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cmath>
- #include<ctime>
- #include<iomanip>
- using namespace std;
- const int n = 100;
- class vector {
- public:
- int l;
- int* arr;
- vector() {
- arr = new int[n];
- l = n;
- }
- vector(int p) {
- arr = new int[p];
- l = p;
- }
- vector(vector& a) { this->l = a.l; this->arr = a.arr;}
- 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;}
- void raz(int l) {
- this->l = l;
- }
- int kol() {
- return l;
- }
- vector copys(vector& a) // копирование
- {
- int p = a.l;
- arr = new int[p];
- for (int i = 0; i < p; i++)
- {
- arr[i] = a.arr[i];
- }
- return *arr;
- }
- int at(int o) {
- if (o<0 || o>l) {
- cout << "Vyxod za predela vectora" << endl;
- return 0;
- }
- else {
- return arr[o];
- }
- }
- void zanes(int f, int k) {
- if (k<0 || k>l) {
- cout << "Vyxod za predela vectora" << endl;
- }
- else {
- arr[k] = f;
- }
- }
- int umn(vector& a) {
- int sum = 0, vr = 0;
- if (a.l != this->l) return 0;
- for (int i = 0; i < l; i++) {
- vr = a.arr[i] * arr[i];
- sum += vr;
- }
- return sum;
- }
- int dlina() {
- int sum = 0;;
- for (int i = 0; i < l; i++) {
- sum += pow(arr[i], 2);
- }
- sum = pow(sum, 0.5);
- return sum;
- }
- void random() {
- srand(time(0));
- for (int i = 0; i < l; i++) {
- arr[i] = rand() % 101 - 50;
- cout << setw(4) << arr[i];
- }
- }
- void vvod() {
- for (int i = 0; i < l; i++) {
- cin >> arr[i];
- }
- }
- void vyvod() {
- for (int i = 0; i < l; i++) {
- cout << setw(3) << arr[i];
- }
- }
- ~vector() {
- cout << "destruct" << endl;
- }
- };
- void ort(vector a, vector b, vector c) {
- int l;
- l = a.umn(b);
- if (l == 0) cout << "Vector 1 and vector 2 ortogonalny" << endl;
- l = a.umn(c);
- if (l == 0) cout << "Vector 1 and vector 3 ortogonalny" << endl;
- l = b.umn(c);
- if (l == 0) cout << "Vector 2 and vector 3 ortogonalny" << endl;
- }
- void main() {
- setlocale(LC_ALL, "rus");
- int k, l, x;
- vector a;
- vector b;
- vector c;
- cout << "Введите размер вектора" << endl;
- cin >> k;
- a.raz(k);
- b.raz(k);
- c.raz(k);
- cout << "1 - ввод с клавиатуры" << endl << "2 - ввод рандомных значений" << endl;
- cin >> x;
- if (x == 1) {
- cout << "Vector 1:" << endl;
- a.vvod();
- cout << endl << "Длина вектора 1 = " << a.dlina() << endl;
- cout << "Vector 2:" << endl;
- b.vvod();
- cout << endl << "Длина вектора 2 = " << b.dlina() << endl;
- cout << "Vector 3:" << endl;
- c.vvod();
- cout << endl << "Длина вектора 3 = " << c.dlina() << endl;
- }
- else {
- a.random();
- cout << endl << "Длина вектора 1 = " << a.dlina() << endl;
- b.random();
- cout << endl << "Длина вектора 2 = " << b.dlina() << endl;
- c.random();
- cout << endl << "Длина вектора 3 = " << c.dlina() << endl;
- }
- ort(a, b, c);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement