Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Paskal_metodichka.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
807.42 Кб
Скачать

Задачи с использованием главной или побочной диагонали матрицы

Существует множество задач, в которых необходимо использовать элементы главной или побочной диагонали матрицы (эти понятия имеют смысл только для квадратных матриц!).

Пусть дана матрица а(4,4).

a11, a22, a33, a44 – элементы главной диагонали матрицы. На главной диагонали индексы строки и столбца равны, то есть i = j. Элемент главной диагонали можно обозначать как a[i,i].

У элементов матрицы, лежащих выше главной диагонали, i < j, а у тех, которые ниже, i > j.

a14, a23, a32, a41 – элементы побочной диагонали матрицы. На побочной диагонали сумма индексов строки и столбца постоянна и на единицу больше размера матрицы, т. е. для матрицы a(4, 4) сумма индексов i + j = 5, поэтому элемент побочной диагонали можно обозначать как a[i,5 – i].

У элементов a[ij], лежащих выше побочной диагонали сумма индексов i + j < 5, а у элементов a[i, j], лежащих ниже побочной диагонали, сумма индексов i + j > 5.

Задача 1. Найти сумму элементов, расположенных на главной диагонали матрицы a.

sum:=0;

for i:=1 to 4 do

for j:=1 to 4 do

if i=j then sum:=sum + a[i, j];

Другой вариант:

sum:=0;

for i:=1 to 4 do

sum:=sum + a[i, i];

Задача 2. Найти сумму элементов матрицы а, расположенных выше ее главной диагонали.

sum = 0;

for i:=1 to 4 do

for j:=1 to 4 do

if i < j then sum:=sum + a[i, j];

Задача 3. Найти сумму элементов побочной диагонали матрицы a.

sum:=0;

for i:=1 to 4 do

for j:=1 to 4 do

if i+=5j then sum:=sum + a[i, j];

Другой вариант:

sum:=0;

for i:=1 to 4 do

sum:=sum + a[i, 5-i];

sum = 0;

for i : = 1 to 4 do

sum : = sum + a[i, 5 – i];

Задача 4. Найти сумму элементов матрицы a, лежащих выше ее побочной диагонали.

sum = 0;

for i:=1 to 4 do

for j:=1 to 4 do

if i+j<5 then sum:=sum + a[i, j];

Пример выполнения задания 6

Дана матрица a(4, 4). Получить матрицу b(4, 4) по правилу:

а также произведение элементов строки, содержащей наименьший элемент матрицы.

program lab4;

uses crt;

var к, i, j : integer;

b, a : array [1 .. 4, 1 .. 4] of real;

p, min : real;

begin clrscr;

writeln (введите матрицу d);

for i:=1 to 4 do

for j:=1 to 4 do read (a[i, j]);

min:=a[l, 1]; k:=1;

{формирование матрицы b и в этом же цикле}

{поиск минимального элемента и номера строки,

в которой он находится}

for i:=1 to 4 do

for j:=1 to 4 do

begin

if a[i, j] > 0 then b[i, j]:=2*a[i, j] else

b[i, j]:=0;

if a[i, j] < min then

begin min:=a[i, j];

к:=i

end

end;

p:=1;

for j:=1 to 4 do

p:=p*a[k, j]; {вычисление произведения элементов

k-ой строки}

writeln (вывод b(4, 4));

for i:=1 to 4 do

begin

for j:=1 to 4 do write(b[i, j]:8:2);

writeln

end;

writeln (минимальный элемент = , min :8:2);

writeln (произведение элементов , k, строки =, p:5:2)

readkey

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]