Главная / Программирование / Рассмотрим реализацию матрицы вещественных чисел размера m строк на n столбцов при помощи линейного массива, в котором хранятся сначала элементы нулевой строки матрицы, затем первой, второй и т.д., в конце - элементы (m-1)-й строки: int m, n; // Размеры м

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

вопрос

Правильный ответ:

Функция работает во всех случаях правильно.
Функция работает правильно только для квадратных матриц.
Функция работает правильно только для квадратных матриц и для матриц, в которых либо число строк, либо число столбцов равно единице.
Сложность вопроса
69
Сложность курса: Программирование
84
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Это очень простой тест по интуиту.
10 сен 2018
Аноним
ответ подошёл
09 май 2018
Аноним
Гранд мерси за гдз по intuit.
10 фев 2018
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.