Перестановка строк и столбцов в матрице

Слайд 2

Все элементы двумерного массива A размером10х10 элементов первоначально были равны 0. Затем

Все элементы двумерного массива A размером10х10 элементов первоначально были равны 0. Затем
значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы:
for n:=1 to 4 do
for k:=n to 4 do begin
A[n,k] := A[n,k] + 1;
A[k,n] := A[k,n] + 1;
end;
Сколько элементов массива в результате будут равны 1?
1) 0 2) 16 3) 12 4) 4

таким образом, правильный ответ – 3.

Слайд 3

В программе используется одномерный целочисленный массив A с индексами от 0 до

В программе используется одномерный целочисленный массив A с индексами от 0 до
9. Ниже представлен фрагмент программы, записанный на разных языках программирования, в котором значения элементов сначала задаются, а затем меняются.
for i:=0 to 9 do
A[i]:=9-i;
for i:=0 to 4 do begin
k:=A[i];
A[i]:=A[9-i];
A[9-i]:=k;
end;
Чему будут равны элементы этого массива после выполнения фрагмента программы?
1) 9 8 7 6 5 4 3 2 1 0
2) 0 1 2 3 4 5 6 7 8 9
3) 9 8 7 6 5 5 6 7 8 9
4) 0 1 2 3 4 4 3 2 1 0

Ответ: 2.

Слайд 4

Дан фрагмент программы, обрабатывающей двухмерный массив A размера n×n.
k := 1;

Дан фрагмент программы, обрабатывающей двухмерный массив A размера n×n. k := 1;

for i:=1 to n do begin
c := A[i,i];
A[i,i] := A[k,i];
A[k,i] := c;
end
Представим массив в виде квадратной таблицы, в которой для элемента массива A[i,j] величина i является номером строки, а величина j – номером столбца, в котором расположен элемент. Тогда данный алгоритм меняет местами
1) два столбца в таблице
2) две строки в таблице
3) элементы диагонали и k-ой строки таблицы
4) элементы диагонали и k-го столбца таблицы

таким образом, правильный ответ – 3

Слайд 5

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

Задача 4. Перестановка строк или столбцов. В матрице из N

Операции с матрицами Задача 4. Перестановка строк или столбцов. В матрице из
строк и M столбцов переставить 2-ую и 4-ую строки.

2

4

j

A[2,j]

A[4,j]

for j:=1 to M do begin
c := A[2,j];
A[2,j] := A[4,j];
A[4,j] := c;
end;

Задача 5. К третьему столбцу добавить шестой.

for i:=1 to N do
A[i,3] := A[i,3] + A[i,6];

Слайд 6

Перестановка строк и столбцов

2-я и 4-я строки:

A[2], A[4] = A[4], A[2]

2-й и

Перестановка строк и столбцов 2-я и 4-я строки: A[2], A[4] = A[4],
4-й столбцы:

for i in range(N):
A[i][2], A[i][4] = A[i][4], A[i][2]

Слайд 7

Особое значение при работе с квадратными массивами занимает задача «транспонирования», т.е

Особое значение при работе с квадратными массивами занимает задача «транспонирования», т.е переворачивания
переворачивания массива относительно главной диагонали.
Для выполнения этой задачи нужно поменять местами элементы
A[i,j] и A[j,i]

Для перестановки двух элементов в массиве необходимо воспользоваться вспомогательной переменной:
T:=A[2,5]
A[2,5]:=A[5,2];
A[5,2]:=T;

Для переворачивания всего массива используется двойной цикл.

Слайд 8

Переворот массива относительно главной диагонали
for i:=1 to n do
for j:=i

Переворот массива относительно главной диагонали for i:=1 to n do for j:=i
to n do
begin
t:=a[i,j];
a[i,j]:=a[j,i];
a[j,i]:=t;
end;

транспонирование

Слайд 9

Задание:

В матрице из N строк и M столбцов переставить 3-ий и 4-ый

Задание: В матрице из N строк и M столбцов переставить 3-ий и
столбцы.
2. К третьей строке добавить пятую.
3.ст. 211, уп11.
Пиксели рисунка закодированы числами (обозначающими цвет) в виде матрицы, содержащей N строк и M столбцов. Выполните отражение рисунка сверху вниз:

4. ст. 211,12.
Выполните поворот матрицы на 900 как показано на рисунке: