Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Презентация на тему Двумерные массивы в формате powerpoint.ppt
Скачиваний:
14
Добавлен:
11.04.2014
Размер:
760.32 Кб
Скачать

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

20

 

 

 

Нахождение суммы

 

Ввод N

 

 

 

 

элементов на главной

 

 

 

 

 

 

 

 

 

 

 

 

 

S = 0

 

диагонали за один проход

 

 

 

 

по массиву

 

 

 

 

 

 

 

 

 

 

 

 

i , 1, N

 

j , 1, N

 

a i , j=

 

случайное[-10;10]

Вывод a i , j

 

i = j

Да S =S + a i , j

Нет

 

Вывод S

 

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

 

21

Ввод N

Нахождение суммы элементов на

главной диагонали за два прохода

 

S = 0

 

 

1

i , 1, N

 

 

i , 1, N

 

 

 

j , 1, N

 

 

j , 1, N

 

 

 

a i , j=

 

Нет

i = j

случайное[-10;10]

 

 

 

 

 

Вывод a i , j

 

 

Да

 

S =S + a i , j

 

 

1

 

 

 

 

 

 

Вывод S

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

22

 

 

 

Нахождение суммы элементов на

 

 

 

 

главной диагонали за два прохода

 

 

 

 

Ввод N

(в случае когда речь идет только о

 

 

 

главной диагонали и остальной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S = 0

массив не нужен)

 

i , 1, N

j , 1, N

a i , j=

случайное[-10;10]

Вывод a i , j

1

i , 1, N

S =S + a i , i

Вывод S

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

23

Один или два прохода по массиву? Рассуждение второе.

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

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

24

Стандартный способ без анализа задачи

Write('ВВеди N = ');Readln(n);

Замечание.

В данном случае можно не бегать по всему массиву а пройти только по главной диагонали, обойдясь без вложенных циклов.

m:=a[1,1];

For i:=2 to n do

if (a[i,i]<m) then m:=a[i,i];

if (a[i,j]<m) and (i=j) then

m:=a[i,j];

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

25

С анализом исходных данных задачи

Write('ВВеди

Предполагаем, что

 

m:=10;

 

 

самое маленькое

 

 

 

 

число 10, правая

 

For i:=1

 

 

 

граница исходного

 

For j:=1

 

интервала.

 

 

 

a[i,j]:=random(21)-10;

 

 

 

write(a[i,j]:4);

 

 

 

 

if (a[i,j]<m) and (i=j) then m:=a[i,j];

 

Writeln;

end;

Заполняем,

 

 

 

 

выводим на экран и

 

end;

 

сразу проверяем на

 

writeln('

 

минимальность в

 

 

главной диагонали.

главной диагонали =',m:5);

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

26

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

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

27

Write('ВВеди N = ');Readln(n);

Перебираем строки

Решение

Заполняем элемент

с

массива и выводим

его на экран

write(a[i,j]:4);

 

if (a[i,j]>max) then max:=

a[i,j];

end;

Если в строке

write(' MAx = ',max:5); встречается элемент

writeln;

Выводим

то он

наибольший элемент

 

 

end;

в строке

 

 

 

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

28

 

 

 

Ввод N

Нахождение

i , 1, N

максимального

элемента в каждой

Мах = - 10

строке в один

проход

j , 1, N

 

a i , j=

 

случайное[-10;10]

 

Вывод a i , j

 

Да

Max = a i , j

a i , j > Max

Нет

 

Вывод Max

 

 

Конец

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

29

For i:=1

 

Предполагаем, что

 

 

элемент в

Стандартным способом,

стоит на

For

первый проход – заполнение,

 

 

второй проход – поиск

a[i,j];

 

 

максимального в строках

end;

 

 

Идем по строке и

 

 

 

если находим

 

 

Вывод наибольшего

элемент больший чем

 

 

элемента в строке

максимальный, то он

 

 

 

становится

 

 

 

максимальным

Соседние файлы в предмете Информатика