Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Rtslaba.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
- //
- #include "pch.h"
- #include <iostream>
- using namespace std;
- class vektor //объявление класса вектор
- {
- public:
- int size; //переменная размера массива
- int mas[100]; //наш массив из 100 эл-ов
- void Input(); //объявление функции ввода эл-ов вектора
- vektor(int size); //объявление конструктора
- void Output(); //объявление функции вывода эл-ов вектора
- void Subtraction(vektor vek); //объявление функции поэлементного вычитания двух векторов.
- vektor operator-(vektor vekt); //перегрузка функции поэлементного вычитания двух векторов.
- };
- void vektor::Input() //ф-я ввода вектора
- {
- for (int i = 0; i < size; i++)
- mas[i] = -4 + rand() % 10; //рандомно заполняет вектор от -4 до 10(не вкл)
- }
- vektor::vektor(int size) //конструктор нашего класса
- {
- this->size = size; //задаем размер массива ; this это указатель на текущий объект нашего класса.
- if (size <= 0 || size > 100) //если ввели размер <= 0 или >100 то пишем ошибку иначе идем дальше и заполняем вектор нулями
- cout << "ERROR!!!" << endl;
- else
- for (int i = 0; i < size; i++) //заполнение вектора нулями
- mas[i] = 0;
- }
- void vektor::Output() //ф-я вывода вектора
- {
- for (int i = 0; i < size; i++)
- {
- cout << mas[i] << " "; //выводим наш вектор
- }
- cout << endl; //переход на новую строчку
- cout << "===========================================================================" << endl;
- }
- void vektor::Subtraction(vektor vek) //ф-я вычитания векторов
- {
- for (int i = 0; i < size; i++)
- {
- mas[i] -= vek.mas[i]; //вычитаем векторы т.е. н-р из вектора 'P' вычитаем вектор 'H' и записываем результат В ВЕКТОР P!!!(т.е.просто перезаписываем его)
- }
- }
- vektor vektor::operator-(vektor vekt) //перегрузка оператора вычитания векторов
- {
- for (int i = 0; i < size; i++)
- {
- mas[i] -= vekt.mas[i]; //вычитаем векторы т.е. н-р из вектора 'P' вычитаем вектор 'H' и записываем результат В ВЕКТОР P!!!(т.е.просто перезаписываем его)
- }
- return *this; //возвращаем указатель на наш класс this; перед this звездочка ибо мы передаем this по ссылке и ваще this это указатель!
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int size;
- cout << "size = ";
- cin >> size; //вводим размер нашего массива
- cout << "===========================================================================" << endl;
- vektor a(size); //создаем объект(экземпляр) a нашего класса; тут вызывается наш конструктор где вектор заполняется нулями
- a.Input(); //заполняем наш вектор объекта а рандомно
- cout << "Вектор a: ";
- a.Output(); //вывод нашего вектора объекта а
- vektor b(size); //создаем объект(экземпляр) b нашего класса; тут вызывается наш конструктор где вектор заполняется нулями
- b.Input(); //заполняем наш вектор объекта b рандомно
- cout << "Вектор b: ";
- b.Output(); //вывод нашего вектора объекта b
- cout << "Вектор c=a-b : "; //вектор 'c' будет новым вектором 'a' (т.е по сути просто переписываем значения вектора 'a') поэтому выводим надпись c=a-b шоб красиво было ибо a=a-b не оч гуд
- a.Subtraction(b); //вычитаем из вектора а вектор b
- a.Output(); //выводим наш новый вектор a
- cout << "Вектор d=c-b : ";//отнимаем фактически от вектора 'a', но пишем, что от 'c' ибо 'c' мы уже написали для красоты поэтому воспринимаем вектор c как вектор a
- vektor d = a - b; //демонстрируем нашу перегрузку; тут уже пишем что от a вычитаем b
- d.Output(); //выводим вектор d но ПО ФАКТУ ЭТО ВЕКТОР а
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement