Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции к экзамену ГТК.docx
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
339.82 Кб
Скачать

Фрагменты операций с двумерными массивами

Рассмотрим фрагменты программ в таблице 5.

Таблица 5

Операция

Фрагмент программы

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

for i:=1 to m do

for j:=1 to n do

read(A[i,j]);

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

for i:=1 to m do

begin

for j:=1 to n do

write(A[i,j]);

writeln;

end;

  1. Замена элементов массива на величину z

for i:=1 to m do

for j:=1 to n do

A[i,j]:=z;

  1. Увеличение элементов массива на величину z

(аналогично уменьшение, умножение, деление)

for i:=1 to m do

for j:=1 to n do

A[i,j]:=A[i,j]+z;

  1. Вычисление элементов массива B прибавлением к элементам массива A величины z

(аналогично вычитанием, умножением, делением)

for i:=1 to m do

for j:=1 to n do

B[i,j]:=A[i,j]+z;

  1. Вычисление индексов максимального элемента imax , jmax

(аналогично минимального)

max:=A[1,1];

imax:=1;

jmax:=1;

for i:=1 to m do

for j:=1 to n do

if A[i,j]>max then

begin

max:=A[i,j];

imax:=i;

jmax:=j;

end;

  1. Вычисление суммы элементов 1-й строки

s:=0;

for j:=1 to n do

s:=s+A[1,j];

  1. Вычисление суммы элементов 1-го столбца

s:=0;

for i:=1 to m do

s:=s+A[i,1];

Особенности элементов квадратных матриц

Двумерный массив называется квадратной матрицей, если у него количество строк равно количеству столбцов ( ).

Рассмотрим квадратную матрицу:

.

Элементы aij этого массива имеют такие особенности:

  1. Элементы находятся на главной диагонали, если .

  2. Элементы находятся выше главной диагонали, если .

  3. Элементы находятся ниже главной диагонали, если .

  4. Элементы находятся вне главной диагонали, если .

  5. Элементы находятся на побочной диагонали, если .

  6. Элементы находятся выше побочной диагонали, если .

  7. Элементы находятся ниже побочной диагонали, если .

  8. Элементы находятся вне побочной диагонали, если .

3.3. Перестановка и сортировка элементов массива

Рассмотрим фрагменты программ в таблице 6.

Таблица 6

Операция

Фрагмент программы

  1. Перестановка элементов 1-й и 2-й строк двумерного массива

for j:=1 to n do

begin

c:=A[1,j];

A[1,j]:=A[2,j];

A[2,j]:=c;

end;

  1. Перестановка элементов 1-го и 2-го столбцов двумерного массива

for i:=1 to m do

begin

c:=A[i,1];

A[i,1]:=A[i,2];

A[i,2]:=c;

end;

  1. Сортировка элементов одномерного массива по возрастанию

(аналогично по убыванию)

for k:=1 to n-1 do

begin

min:=A[k];

imin:=k;

for i:=k+1 to n do

if A[i]<min then

begin

min:=A[i];

imin:=i;

end;

c:=A[k];

A[k]:=A[imin];

A[imin]:=c;

end;

  1. Сортировка строк двумерного массива по возрастанию первых элементов строк

(аналогично по убыванию)

for k:=1 to m-1 do

begin

min:=A[k,1];

imin:=k;

for i:=k+1 to m do

if A[i,1]<min then

begin

min:=A[i,1];

imin:=i;

end;

for j:=1 to n do

begin

c:=A[k,j];

A[k,j]:=A[imin,j];

A[imin,j]:=c;

end;

end;

  1. Сортировка столбцов двумерного массива по возрастанию первых элементов столбцов

(аналогично по убыванию)

for k:=1 to n-1 do

begin

min:=A[1,k];

jmin:=k;

for j:=k+1 to n do

if A[1,j]<min then

begin

min:=A[1,j];

jmin:=j;

end;

for i:=1 to m do

begin

c:=A[i,k];

A[i,k]:=A[i,jmin];

A[i,jmin]:=c;

end;

end;