Java. Многомерные массивы

Слайд 2

Матрицы Многомерный массив в Java – это по сути массив из

Матрицы

Многомерный массив в Java – это по сути массив из массивов.
Матрица

– это прямоугольная таблица однотипных элементов.
Матрица – это массив, в котором каждый элемент имеет два индекса (номер строки и номер столбца).

A

строка 1

столбец 4

ячейка a[2][1]

Слайд 3

Многомерные массивы Объявление: int[][] matrixA; matrixA = new int[2][3]; Задание размерности

Многомерные массивы

Объявление:

int[][] matrixA;
matrixA = new int[2][3];

Задание размерности в цикле:

int[][] matrixA

= new int[5][8];

n = in.nextInt();
int[][] a= new int[n][];
for (int i = 0; i < n; i++){
a[i] = new int [i + 1];
}

int[][] a = new int [3][];
a[0] = new int [7];
a[1] = new int [2];
a[2] = new int [10];

Слайд 4

Ввод и вывод элементов массива int[][] a = { {-5, 1,

Ввод и вывод элементов массива

int[][] a = { {-5, 1, 0},


{4, 1, 3},
{-6, 2, -1} };
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j] + "\t");
}
System.out.println();
}

for (int i =0; i < a.length; i++){
for (int j = 0; j < a[i].length; j++){
  a[i][j] = in.nextInt();
  }
}

Вывод двумерного массива:

Слайд 5

Операции с матрицами Задача 1. Вывести на экран главную диагональ квадратной

Операции с матрицами

Задача 1. Вывести на экран главную диагональ квадратной матрицы

из N строк и N столбцов.

A[0][N-1]

A[1][1]

A[2][2]

A[N-1][N-1]

for ( int i = 0; i < N; i ++ )
System.out.println (a[i][i]);

Задача 2. Вывести на экран вторую диагональ.

A[N-1][0]

A[N-2][1]

A[1][N-2]

сумма номеров строки и столбца N-1

A[0][0]

for ( int i = 0; i < N; i ++ )
System.out.println(a[i][N-i-1]);

Слайд 6

Двумерные массивы Действия со строками (столбцами). Транспонирование.

Двумерные массивы

Действия со строками (столбцами). Транспонирование.

Слайд 7

Задача. Поменять местами 2 строки (столбца) с номерами k1, k2 for

Задача. Поменять местами 2 строки (столбца) с номерами k1, k2

for (int

j = 0; j < m; j++){ temp = a[k1][j]; a[k1][j] = a[k2][j]; a[k2][j] = temp; }

k1

k2

A[k1,j]

A[k2,j]

k1

k2

i

A[i,k1]

A[i,k2]

for (int i = 0; i < m; i++){ temp = a[i][k1]; a[i][k1] = a[i][k2]; a[i][k2] = temp; }

Слайд 8

Задача. Удалить k-ю строку. for (int i = k; i for

Задача. Удалить k-ю строку.

for (int i = k; i < n-1;

i++)
for (int j = 0; j < m; j++){ a[i][j] = a[i+1][j]; }

k

for (int i = n; i > k; i--) for (int j = 0; j < m; j++){ a[i][j] = a[i-1][j]; }
for (int j = 0; j < m; j++){ a[k-1][j] = b[j]; }

Задача. Вставка новой строки перед к-ой строкой

k

n

Слайд 9

Транспонирование – это отображение элементов относительно главной диагонали for (int i

Транспонирование – это отображение элементов относительно главной диагонали

for (int i =

1; i < n; i++)
for (int j = 0; j < i; j++){ temp = a[i][j]; a[i][j] = a[j][i]; a[j][i] = temp; }

Заполнить многомерный массив следующим образом: обнулить элементы, отмеченные оранжевым цветом фоном, остальные ячейки заполнить единицами, вывести полученный массив на экран.