Тема: Багатовимірні масиви. Двовимірний масив. Введення та виведення елементів двовимірного масиву.
Ход урока
III. Новая тема
Двумерный массив (матрица) — массив, каждый элемент которого определяется двумя индексами. В языке Паскаль первый индекс указывает на номер строки, а второй — номер столбца в этой строке.
В памяти компьютера элементы двумерного массива хранятся по строкам.
Описание двумерного массива происходит аналогично описанию одномерного массива с указанием диапазона изменения каждого индекса.
1. Описываем массив действительных чисел
const m = 10; n = 20;
Var х: array [l..m, l..n] of real;
2. Type
Mas=array[1..20] of integer;
Var
A: array[1..10] of mas;
3. В качестве формального параметра процедуры:
Type
Massiv=array[1..10, 1..20] of integer;
Var
A: massiv;
Доступ к каждому элементу двумерного массива осуществляется по двум индексам. Например, A [4, 2]:= 0; или A[4], [2]:= 0; (элементу массива А с индексами 4 и 2 присвоено значение О).
Пример 1
Найти сумму элементов главной диагонали.
s:= 0;
for i:= 1 to n do
s:= s + a[i, i];
Заполнение двумерного массива
Чтобы заполнить массив значениями, необходимо обеспечить перебор всех строк и колонок
N – количество строк в матрице
M – количество колонок
I – порядковый номер строки
J – порядковый номер колонки
Заполнение при помощи генератора случайных чисел
for i:=1 to m do
for j:= 1 to n do
a[I,j]:=random(100);
Заполнение с клавиатуры
Writeln(‘a[‘,I,’,’,j,’]=’);
Заполнение массива по колонкам
for j:= 1 to n do
for i:=1 to m do
a[I,j]:=random(100);
Вывод элементов двумерного массива
Элементы двумерного массива выводят с помощью вложенных циклов. Если нужно вывести массив в виде таблицы (по строкам), то после каждого вывода строки значений производится перевод курсора на новую строку командой writeln.
for j:= 1 to n do
Begin
for i:=1 to m do
Write(a[i,j]:4);
Writeln;
End;
Writeln;
Элементы двумерных массивов обрабатывают поэлементно с помощью вложенных циклов.
Например, присвоить всем элементам массива A [1 ..m, 1 .. n] значение О.
for i:=1 to m do
for j:= 1 to n do A[i, j]:= 0;
Квадратная матрица — это матрица, имеющая одинаковое количество строк и столбцов.
Порядок матрицы – количество строк или колонок (только для квадратной)
Главная диагональ — это диагональ, которая располагается от левого верхнего угла до правого нижнего и состоит из элементов с одинаковыми индексами [i, i].
Побочная диагональ — это диагональ, которая располагается от правого верхнего угла до левого нижнего и состоит из элементов с индексами [i, n+l-i]. i+j=n+1
Для обработки элементов диагоналей достаточно одного цикла.
Поиск элемента по условию
Найти максимальное число в двумерном массиве
Max:=a[1,1];
for i:=1 to n do
for j:= 1 to m do
if a[I,j] '>' max then max:=a[I,j]
Задача. Все элементы с наибольшим значением в данной целочисленной квадратной матрице заменить нулями.
Задача должна содержать следующие этапы обработки:
1. Заполнить матрицу значениями.
2. Распечатать исходную матрицу.
3. Найти максимальное число.
4. Записать максимальное число нулем.
5. Распечатать результат.
IV. Домашнее задание –выучить ОК по теории урока, решить задачу.
Найти сумму элементов побочной диагонали квадратной матрицы
Подписаться на:
Комментарии к сообщению (Atom)

Юлия Валерьевна, а находить сумму побочной диагонали квадратной матрицы????
ОтветитьУдалитьДа
ОтветитьУдалить