'

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

Понравилась презентация – покажи это...





Слайд 0

Двумерные массивы Обработка относительно диагоналей


Слайд 1

Главная диагональ i = j Обработка элементов матрицы, расположенных: на главной диагонали (например, сумма элементов НА главной диагонали): … s:=0; For i:=1 To n Do s:=s + x[i,i]; … выше главной диагонали (например, сумма элементов ВЫШЕ главной диагонали): … s:=0; For i:=1 To n Do For j:=1 To n Do If i < j then s:=s + x[i,j]; … ниже главной диагонали (например, сумма элементов НИЖЕ главной диагонали): … s:=0; For i:=1 To n Do For j:=1 To n Do If i > j then s:=s + x[i,j]; …


Слайд 2

Побочная диагональ i = n – j + 1 Обработка элементов матрицы, расположенных: на побочной диагонали (например, сумма элементов НА побочной диагонали): … s:=0; For i:=1 To n Do s:=s + x[i, n - i +1]; … выше побочной диагонали (например, сумма элементов ВЫШЕ побочной диагонали): … s:=0; For i:=1 To n Do For j:=1 To n Do If i < n - j + 1 then s:=s + x[i,j]; … ниже побочной диагонали (например, сумма элементов НА побочной диагонали): … s:=0; For i:=1 To n Do For j:=1 To n Do If i > n - j + 1 then s:=s + x[i,j]; …


Слайд 3

Обработка квадратной матрицы (рациональный способ)


Слайд 4

Предложенные выше алгоритмы обработки квадратного массива относительно диагоналей нерациональны, так как перебираются все элементы массива. Более рационально ограничить перебор элементов, введя, например, зависимость начального и конечного значений управляющей переменной внутреннего цикла от от значения счётчика внешнего цикла. НИЖЕ и НА главной диагонали: FOR i:=1 TO n DO FOR j:=1 TO i DO …; ВЫШЕ и НА главной диагонали: FOR i:=1 TO n DO FOR j:= i TO n DO …;


Слайд 5

ВЫШЕ и НА побочной диагонали: FOR i:=1 TO n DO FOR j:= 1 TO n - i + 1 DO …; НИЖЕ и НА побочной диагонали: FOR i:=1 TO n DO FOR j:= n - i + 1 TO n DO …;


Слайд 6

Задачи 1.Заполнить элементы квадратного массива так, как предложено на рисунке: а) 100000000 110000000 111000000 111100000 111110000 111111000 111111100 111111110 111111111 б) 111111111 011111111 001111111 000111111 000011111 000001111 000000111 000000011 000000000 в) 000000001 000000011 000000111 000001111 000011111 000111111 001111111 011111111 111111111


Слайд 7

г) 111111111 111111110 111111100 111111000 111110000 111100000 111000000 110000000 000000000 д) 100000000 110000000 111000000 111100000 111110000 111100000 111000000 110000000 000000000 е) 000000001 000000011 000000111 000001111 000011111 000001111 000000111 000000011 000000000


Слайд 8

ж) 111111111 011111110 001111100 000111000 000010000 000000000 000000000 000000000 000000000 з) 000000000 000000000 000000000 000000000 000010000 000111000 001111100 011111110 111111111


Слайд 9

2. Дан двумерный массив размерностью n x n. Найти максимальный элемент в заштрихованной области массива: а) … i:=1; j:=n; While i <= j Do Begin While i <= j Do Begin IF a[i,j] … Then …; Dec(j); End; Inc(i); j:=n – i + 1; End;


Слайд 10

б) … i:=1; j:=n; While i <= j Do Begin While i <= j Do Begin IF a[i,j] … Then …; Inc(i); End; Dec(j); i:=n – j + 1; End; в) … i:=n; j:=1; While i >= j Do Begin While i >= j Do Begin IF a[i,j] … Then …; Inc(j); End; Dec(i); j:=n – i + 1; End;


Слайд 11

г) … i:=n; j:=1; While i >= j Do Begin While i >= j Do Begin IF a[i,j] … Then …; Dec(i); End; Inc(j); i:=n – j + 1; End;


Слайд 12

2. Определить, является ли массив А[1..n,1..n] симметричным относительно своей главной или побочной диагонали. 3. Массив А[1..n,1..n] разбивается на четыре четверти, ограниченные главной и побочной диагоналями: верхнюю, нижнюю, левую и правую. Найти сумму элементов: верхней, правой, нижней, левой четвертей (без учёта элементов, расположенных на диагоналях).


Слайд 13

4. Массив А[1..n,1..n] разбивается на четыре четверти, ограниченные главной и побочной диагоналями: верхнюю, нижнюю, левую и правую. Поменять местами элементы: верхней и нижней четвертей, правой и левой четвертей. 6. Дан массив А[1..n,1..n] целых чисел. Упорядочить все строки матрицы в порядке неубывания минимального значения элемента в каждой строке 5. Дан массив А[1..n,1..n] целых чисел. Упорядочить по возрастанию элементы массива по строкам. 7. Дана квадратная матрица целых чисел. Упорядочить все элементы на главной диагонали матрицы и на всех параллельных диагоналях в порядке неубывания сверху вниз.


×

HTML:





Ссылка: