#include <iostream>
#include <iomanip>

using namespace std;

template <typename T>
void print_matrix(T *matrix, size_t rows, size_t cols)
{
    for (size_t i = 0; i < rows; i++, cout << '\n')
        for (size_t j = 0; j < cols; j++)
            cout << setw(7) << matrix[j + i * cols];
}

int main()
{
    float matrix1[][3] =
    {
        {1.2f, 2.3f, 3.4f},
        {4.5f, 5.6f, 6.7f},
        {7.8f, 8.9f, 9.0f}
    };
    
    int matrix2[] = {10, 20, 30, 40, 20, 30, 40, 50, 30, 40, 50, 60, 40, 50, 60, 70};
    string matrix3[] = {"Dwane", "Alice", "Bruce", "Ellen", "Tom", "Kane"};
        
    print_matrix(&matrix1[0][0], 3, 3);
    print_matrix(matrix2, 4, 4);
    print_matrix(matrix3, 2, 3);
    
    return 0;
}
    
