Есть шаблон класса для матрицы, где двумерная матрица реализована как одномерная:
template <class T> class matrix
{
	private:
		size_t Height;
		size_t Width;
		T *Val;
	public:
		T& operator () (size_t i, size_t j)
		{
			return Val[Width*(i-1)+j-1];
		}
	........
}
double *A3 = new double [n*n];
A3[n*(i-1)+j-1]









