Транспонирование матрицы в Java

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Данная статья написана командой Vertex Academy. Это одна из статей из нашего "Самоучителя по Java."

Напишите программу Transpose.java, которая будет транспонировать заданную квадратную матрицу без использования дополнительного массива. Напоминаем, что такое транспонирование матрицы. Транспонированная матрица - это матрица, полученная из исходной матрицы путем замены строк на столбцы. Ниже приводим 2 примера транспонированной матрицы.

Решение:

Часть 1 - создаем матрицу n на n и заполняем ее значениями с помошью цикла. При желании можно сделать так, чтобы число n задавалось пользователем с консоли.  Не бойтесь цикла 🙂

Вы увидите, что выражение " a[i][j] = n*i + j " просто заполняет массив по порядку числами , начиная с 0. Часть 2 - выводит на экран двухмерную матрицу с помощью двух массивов. "%4d" значит "4 пробела". Так, "%3d" - это 3 пробела,  "%6d" - 6 пробелов, и т.д.

Часть 3 - транспонирование матрицы. Это "переворачивание" матрицы:

task7_arr_prince

А еще во время транспонирования номер столбца и номер строки "меняются местами". Например, было a[1] [9], стало a[9][1]. И так со всеми элементами (a[2] [2], конечно, остается a[2][2]). Этим и пользуются для того, чтобы транспонировать матрицу в этом примере:

a[i][j] и a[j][i] меняются местами с помощью переменной temp (temporary - временный).

task7_arr_prince2

Часть 4 - выводим транспонированную матрицу на экран. Повторяет часть 2.


Надеемся - наша статья была Вам полезна. Есть возможность записаться на наши курсы по Java. Детальную информацию смотрите у нас на сайте.

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr
Самоучители--узнать детальнее--