Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string>
- #include <cmath>
- using namespace std;
- bool EnterVector(vector<int>&);//This function read ouΠΊ vector from input stream
- void PrintVector(const vector<int>& ourVector); //This function print our vector
- void PrintMatrix(const vector<vector<int>>& lhs); //This function print matrix
- vector<int> FirstVector(3);
- vector<int> SecondVector(3);
- int mul_num = 0;
- //User function for operation
- vector<int> Sum(const vector<int>& lhs, const vector<int>& rhs);
- vector<int> MulNum(const vector<int>& lhs, const int& rhs);
- vector<int> MulScalar(const vector<int>& lhs, const vector<int>& rhs);
- vector<int> MulVector(const vector<int>& lhs, const vector<int>& rhs);
- vector<int> Abs(const vector<int>& lhs);
- bool isEqual(const vector<int>& lhs, const vector<int>& rhs);
- int main() {
- for (;;) {
- size_t operation = ' ';
- cout << "Enter the operation\n";
- //TODO: add help
- cin >> operation;
- switch (operation) {
- case 0:
- EnterVector(FirstVector);
- EnterVector(SecondVector);
- PrintVector(Sum(FirstVector, SecondVector));
- break;
- case 1:
- EnterVector(FirstVector);
- cin >> mul_num;
- PrintVector(MulNum(FirstVector, mul_num));
- break;
- case 2:
- EnterVector(FirstVector);
- EnterVector(SecondVector);
- PrintVector(MulScalar(FirstVector, SecondVector));
- break;
- case 3:
- EnterVector(FirstVector);
- EnterVector(SecondVector);
- PrintVector(MulVector(FirstVector, SecondVector));
- break;
- case 4:
- EnterVector(FirstVector);
- PrintVector(Abs(FirstVector));
- break;
- case 5:
- EnterVector(FirstVector);
- EnterVector(SecondVector);
- if (isEqual) {
- cout << "Is equal\n";
- }
- else {
- cout << "Isn't equal\n";
- }
- break;
- default:
- cout << "Undefined operation\n";
- break;
- }
- }
- return 0;
- }
- bool EnterVector(vector<int>& ourVector){
- cout << "Enter vector\n";
- for (auto& s : ourVector) {
- cin >> s;
- }
- return true;
- }
- void PrintVector(const vector<int>& ourVector){
- for (const auto& s : ourVector) {
- cout << s << ' ';
- }
- }
- void PrintMatrix(const vector<vector<int>>& lhs) {
- for (const auto& i : lhs) {
- for (const auto& j : i) {
- cout << j << ' ';
- }
- cout << '\n';
- }
- }
- vector<int> Sum(const vector<int>& lhs, const vector<int>& rhs) {
- vector<int> result = { lhs.at(0) + rhs.at(0), lhs.at(1) + rhs.at(1), lhs.at(2) + rhs.at(2) };
- return (vector<int>) result;
- }
- vector<int> MulNum(const vector<int>& lhs, const int& rhs) {
- vector<int> result= { lhs.at(0) * rhs, lhs.at(1) * rhs, lhs.at(2) * rhs };
- return result;
- }
- vector<int> MulScalar(const vector<int>& lhs, const vector<int>& rhs) {
- vector<int> result = { lhs.at(0) * rhs.at(0), lhs.at(1) * rhs.at(1), lhs.at(2) * rhs.at(2) };
- return result;
- }
- vector<int> MulVector(const vector<int>& lhs, const vector<int>& rhs) {
- vector<int> result = { (lhs.at(0) * rhs.at(2) - lhs.at(1)*rhs.at(0), (lhs.at(0) * rhs.at(2) - rhs.at(0) * lhs.at(2)), (lhs.at(0)*rhs.at(1) - rhs.at(0) * lhs.at(1)))};
- return result;
- }
- vector<int> Abs(const vector<int>& lhs) {
- vector<int> result = { abs(lhs.at(0)), abs(lhs.at(1)), abs(lhs.at(2)) };
- return result;
- }
- bool isEqual(const vector<int>& lhs, const vector<int>& rhs) {
- bool result = true;
- for (int i = 0; i < 3; ++i) {
- result &= lhs.at(i) == rhs.at(i);
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement