#include <array>
#include <iostream>

template <std::size_t ROW, std::size_t COL>
using Matrix = std::array<std::array<float, COL>, ROW>;

template <std::size_t ROW, std::size_t COL>
Matrix<ROW, COL> div(const Matrix<ROW, COL>& A, const Matrix<ROW, COL>& B)
{
    Matrix<ROW, COL> res;
    for (std::size_t x = 0; x != ROW; ++x) {
       for (std::size_t y = 0; y != COL; ++y) {
           res[x][y] = (A[x][y]/B[x][y]);
       }
    }
    return res;
} 

template <std::size_t ROW, std::size_t COL>
void display(const Matrix<ROW, COL>& m)
{
    for (std::size_t x = 0; x != ROW; ++x) {
       for (std::size_t y = 0; y != COL; ++y) {
           std::cout << m[x][y] << " ";
       }
       std::cout << std::endl;
    }
}

int main()
{
    Matrix<20, 5> N;
    for (std::size_t x = 0; x != 20; ++x) {
        for (std::size_t y = 0; y != 5; ++y) {
            N[x][y] = 1;
        }
    }
    N = div(N, N);
    std::cout << "Displaying  N  ..." << std::endl;
    display(N);
}