Двумерные массивы: работа с диагоналями

Слайд 2

a11

a22

a23

a32

a33

a14

a41

a44

1 2 3 4

1
2
3
4

Главная диагональ:
I=J

Побочная диагональ:
I+J=N+1

Заполнить

a11 a22 a23 a32 a33 a14 a41 a44 1 2 3 4
произвольный массив размером
N x N (N<10) по следующему правилу:
00001
00010
00100
01000
10000

ClrScr;
Write('ВВеди N = ');Readln(n);
For i:=1 to n do begin
For j:=1 to n do begin
if (i+j = n+1) then a[i,j]:=1
else a[i,j]:=0;
write(a[i,j]);
end;
writeln;
end;

Если побочная диагональ то заполнить ячейку 1 во всех остальных случаях 0

Слайд 3

Фрагмент блок-схемы задачи заполнения побочной диагонали единицами

j , 1, N

Вывод a i

Фрагмент блок-схемы задачи заполнения побочной диагонали единицами j , 1, N Вывод
, j

i , 1, N

a i , j= 0

Ввод N

i+j=N+1

a i , j= 1

Да

Нет

Слайд 4

Замечание.
Если нужно что то сделать только
с главной диагональю,
то можно обойтись

Замечание. Если нужно что то сделать только с главной диагональю, то можно
без вложенных циклов
For i:=1 to n do s:=s+ a[i,i];

Слайд 5

Двумерный массив. Заполнение

a11

a22

a33

a44

a55

Удовлетворяет неравенству
i < j

Удовлетворяет неравенству
i > j

1
2
3
4

Двумерный массив. Заполнение a11 a22 a33 a44 a55 Удовлетворяет неравенству i Удовлетворяет

5

1 2 3 4 5

Слайд 6

Двумерный массив. Заполнение

a15

a24

a33

a42

a51

Удовлетворяет неравенству
i+j

Удовлетворяет неравенству
i+j>n+1

1 2 3 4 5

1
2
3

Двумерный массив. Заполнение a15 a24 a33 a42 a51 Удовлетворяет неравенству i+j Удовлетворяет

4
5

Слайд 7

Двумерный массив. Заполнение

a11

a22

a33

a44

a55

1
2
3
4
5

1 2 3 4 5

a42

a51

a24

a15

(i+j

Двумерный массив. Заполнение a11 a22 a33 a44 a55 1 2 3 4
And (i

(i+j>n+1) And (i

(i+j>n+1) And (i>j)

(i+jj)

Системы неравенств

Слайд 8

Двумерный массив. Заполнение

Заполнить произвольный массив размером N x N (N<10) по следующему

Двумерный массив. Заполнение Заполнить произвольный массив размером N x N (N 00001
правилу:
00001
00011
00111
00011
00001

Это пересечение двух множеств. Элементы лежащие на и ниже побочной диагонали и элементы лежащие на и выше главной диагонали
Write('ВВеди N = '); Readln(n);
For i:=1 to n do begin
For j:=1 to n do begin
if (i+j>=n+1) and (i<=j) then a[i,j]:=1
else a[i,j]:=0;
write(a[i,j]:2);
end;
writeln;
end;

Проверяем условие принадлежности данному множеству

Слайд 9

Двумерный массив. Сумма элементов

Заполнить двумерный массив N x N случайными числами из

Двумерный массив. Сумма элементов Заполнить двумерный массив N x N случайными числами
интервала [-10 ; 10] и найти сумму элементов массива лежащих на главной диагонали.

Слайд 10

Двумерный массив. Сумма элементов

i , 1, N

S =S + a i ,

Двумерный массив. Сумма элементов i , 1, N S =S + a
i

Вывод S

Нахождение суммы элементов на главной диагонали за два прохода (в случае когда речь идет только о главной диагонали и остальной массив не нужен)

Имя файла: Двумерные-массивы:-работа-с-диагоналями.pptx
Количество просмотров: 56
Количество скачиваний: 0