online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include "PolarVector.h" #include "CartesianVector.h" #include "Matrix.h" int main() { setlocale(LC_ALL, "Russian"); Matrix<CartesianVector> A(3, 3); A.input(); A.print(); }
#pragma once #include <iostream> #include <vector> using namespace std; class CartesianVector { public: CartesianVector(int N = 0); CartesianVector operator*(float k); void input(); void print(); private: int N; // n-мерное пространство vector <float> X; };
#include "CartesianVector.h" CartesianVector::CartesianVector(int N) { this->N = N; X.resize(N); } CartesianVector CartesianVector::operator*(float k) { CartesianVector tmp(N); for (int i = 0; i < N; i++) { tmp.X[i] = this->X[i] * k; } return tmp; } void CartesianVector::input() { if (N == 0) { cout << "Введите мерность пространства! N = "; cin >> this->N; X.resize(N); } for (int i = 0; i < N; i++) { cout << "x[" << i + 1 << "] = "; cin >> X[i]; } } void CartesianVector::print() { cout << "("; for (int i = 0; i < N - 1; i++) { cout << X[i] << "; "; } cout << X[N - 1] << ")"; }
#pragma once #include <iostream> using namespace std; class PolarVector { public: PolarVector(float r = 0, float fi = 0); ~PolarVector(); PolarVector operator*(float k); void input(); void print(); private: float r, fi; };
#include "PolarVector.h" PolarVector::PolarVector(float r, float fi) { this->r = r; this->fi = fi; } PolarVector::~PolarVector() { this->r = 0; this->fi = 0; } PolarVector PolarVector::operator*(float k) { PolarVector tmp(0); tmp.r = this->r * k; tmp.fi = this->fi; return tmp; } void PolarVector::input() { setlocale(LC_ALL, "Russian"); cout << "r = "; cin >> r; cout << "ф = "; cin >> fi; } void PolarVector::print() { cout << "(" << r << "; " << fi << ")"; }
#pragma once template <typename T> class Matrix { public: Matrix(int M, int N); ~Matrix(); Matrix<T> operator*(float k); void input(); void print(); private: int M, N; T** A; }; template<typename T> inline Matrix<T>::Matrix(int M, int N) { A = new T * [M]; for (int i = 0; i < M; i++) { A[i] = new T[N]; } /* for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { A[i][j] = NULL; B[i][j] = NULL; } } */ } template<typename T> inline Matrix<T>::~Matrix() { for (int i = 0; i < M; i++) { delete[] A[i]; } delete[] A; } template<typename T> inline Matrix<T> Matrix<T>::operator*(float k) { Matrix<T> tmp(M, N); for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { tmp.A[i][j] = this->A[i][j] * k; } } return tmp; } template<typename T> inline void Matrix<T>::input() { for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { A[i][j].input(); } } } template<typename T> inline void Matrix<T>::print() { for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { A[i][j].print(); cout << "\t"; } cout << endl; } }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue