From c7edcf8232c5e6c4441d2837c3f0b39b908c1b78 Mon Sep 17 00:00:00 2001 From: Spectre Date: Sat, 21 Sep 2024 22:41:49 +0700 Subject: [PATCH] math.cpp added --- main.cpp | 16 +++++++++++----- tools/math.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ tools/math.h | 14 +++++++++----- tools/matrix.cpp | 2 +- 4 files changed, 62 insertions(+), 11 deletions(-) diff --git a/main.cpp b/main.cpp index 4d52763..df1ab18 100644 --- a/main.cpp +++ b/main.cpp @@ -1,18 +1,24 @@ #include #include "tools/matrix.h" - +#include "tools/math.h" int main() { int n, m; + std::cin >> n; + std::cin >> m; + ColumnVector C(n); Matrix A(n, m); ColumnVector b(n); double eps; double eps_default; - - std::cin >> C; std::cin >> A; - std::cin >> b; - std::cin >> eps; + + std::cout << "Вектор C: " << C << std::endl; + + std::cout << "Матрица A: " << A << std::endl; + + Matrix B(2, 2); + std::cout << B << std::endl; return 0; } diff --git a/tools/math.cpp b/tools/math.cpp index 0dc3779..255124d 100644 --- a/tools/math.cpp +++ b/tools/math.cpp @@ -1 +1,42 @@ #include "math.h" +#include "matrix.h" + +double Math::minVector(ColumnVector columnVector) { + double temp = columnVector[0]; + for (int j = 0; j < columnVector.getColumns(); j++) { + if (columnVector[j] < temp) { + temp = columnVector[j]; + } + } + return temp; +} + +double Math::maxVector(ColumnVector columnVector) { + double temp = columnVector[0]; + for (int j = 0; j < columnVector.getColumns(); j++) { + if (columnVector[j] > temp) { + temp = columnVector[j]; + } + } + return temp; +} + +double Math::minArray(std::vector array) { + double temp = array[0]; + for (size_t i = 1; i < array.size(); i++) { + if (array[i] < temp) { + temp = array[i]; + } + } + return temp; +} + +double Math::maxArray(std::vector array) { + double temp = array[0]; + for (size_t i = 1; i < array.size(); i++) { + if (array[i] > temp) { + temp = array[i]; + } + } + return temp; +} diff --git a/tools/math.h b/tools/math.h index 6704f0c..b641471 100644 --- a/tools/math.h +++ b/tools/math.h @@ -1,12 +1,16 @@ #ifndef MATH_H #define MATH_H +#include +class ColumnVector; -class math { - +class Math { +public: + double minVector(ColumnVector columnVector); + double maxVector(ColumnVector columnVector); + double minArray(std::vector array); + double maxArray(std::vector array); }; - - -#endif //MATH_H +#endif // MATH_H \ No newline at end of file diff --git a/tools/matrix.cpp b/tools/matrix.cpp index 2269226..e471365 100644 --- a/tools/matrix.cpp +++ b/tools/matrix.cpp @@ -77,7 +77,7 @@ std::ostream& operator<<(std::ostream& cout, ColumnVector& vectorObj) { Matrix::Matrix(int n, int m) { rows = n; columns = m; - matrix.resize(n); + matrix.resize(n, ColumnVector(m)); for (auto& row : matrix) { row = ColumnVector(m); }