Рассмотрим реализацию матрицы вещественных чиселразмера
m строк на
n столбцовпри помощи линейного массива,в котором хранятся сначала элементы нулевой строки матрицы,затем первой, второй и т.д., в конце - элементы (m-1)-й строки:
int m, n; // Размеры матрицы: число строк, столбцов . . . double* a = new double[m*n]; // a[i*n + j] -- элемент i-й строки и j-го столбца
Пусть функция с прототипом
void transp(double* a, int m, int n);
реализует транспонированиематрицы, при выполнении которого строки матрицы становятсястолбцами, столбцы - строками, а матрица размера
m на
nпревращается в матрицу размера
n на
mПусть эта функция применяется к прямоугольной матрице,содержащей 2 строки и 4 столбца, элементы которой хранятсяв линейном массиве
a Сколько элементов массива
a при этом останутся на своем месте?