Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
заоч_метод_2 сем.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.41 Mб
Скачать

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

Двумерный массив представляется собой прямоугольную матрицу. Имя массива является единым для всех его элементов. Местоположение каждого элемента определяется двумя координатами: номером строки и номером столбца.

Например: А[I,J], Mas[r+2,c-1], D[3,4].

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

Направление изменения второго индекса

(номера столбца)

j= 1 2 3 . . . n

f

Н аправление изменения i = 1

первого индекса …

(номера строки) к

А[2,3] или А[i,j] ( если i=2 и j=3)

Матрица в которой количество строк и столбцов равны называется правильной.

У правильной (квадратной) матрицы есть главная и побочная диагональ. Элемент главной диагонали имеет одинаковые индексы и обозначается F[x,x], а побочной- F[x,n-x+1] (где n- количество строк и столбцов)

главная

F[1,1]

F[2,2]

F[3,3]


побочная

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

Способы описания двумерного массива

1). Type имя типа = array [1..K, 1..N] of тип элементов;

Var имя массива : имя типа;

2). Var имя массива : array [диапазон 1 индекса, диапазон 2 индекса] of тип элементов;

где array, of – «массив из» - служебные слова;

тип элементов – любой простой или структурированный;

K – максимальное количество строк;

N - максимальное количество столбцов.

Например: Соnst K= 4; N= 6;

Type massiv=array[1..20, 1..5] of real;

Var A:massiv;

B: array [1..K, 1..N] of char;

Ввод элементов массива

Рrogram vvod;

Type mas=array[1..10,1..10] of real;

Var a:mas;

N,K, i,j: integer;

Begin

Write(‘Введите количество строк -’);

Readln(K);

Writeln(‘Введите количество столбцов- ’);

Readln(N);

Writeln(‘Введите элементы массива ’);

For i:=1 to K do

For j:=1 to N do

Begin

Write(‘a[‘,i,’,’,j,’]=’);

Readln( a[i,j])

End;

Обработка введенного массива

. . .

End.

Вывод элементов массива

For i:=1 to k do

Begin

For j:=1 to n do

Write ( a[i,j], ‘ ‘);

Writeln

End;

program pr;

type

masiv = array [1..15,1..15] of integer;

var i,max,j,n1,n2,p1,p2:integer;

mas:masiv;

begin

writeln('Введите количество строк и столбцов ');

readln(n2,n1);

for i:=1 to n2 do

for j:=1 to n1 do

begin

writeln('Введите Mas[',i,',',j,']');

readln(mas[i,j]);

end;

max:=mas[1,1];

p1:=1;{p1,p2-координаты макс.элемента}

p2:=1;

for i:=1 to n2 do

for j:=1 to n1 do

if mas[i,j]>max then

begin

max:=mas[i,j];

p1:=i;

p2:=j;

end;

writeln('Mas[',p1,',',p2,'] = ',max);

end.

Введите количество строк и столбцов

3 3

Введите Mas[1,1]

2

Введите Mas[1,2]

4

Введите Mas[1,3]

5

Введите Mas[2,1]

6

Введите Mas[2,2]

3

Введите Mas[2,3]

2

Введите Mas[3,1]

1

Введите Mas[3,2]

6

Введите Mas[3,3]

4

Mas[2,1] = 6

Пример 4:

Найти в двумерном массиве первый максимальный элемент и вывести его координаты .