
- •Рабочая программа
- •Тематический план учебной дисциплины
- •Основные теоретические положения
- •Тема 2.5 Массивы
- •Одномерный массив
- •Способы описания одномерного массива
- •Ввод элементов массива
- •Двумерные массивы
- •Способы описания двумерного массива
- •Ввод элементов массива
- •Вывод элементов массива
- •Тема 2.6 Подпрограммы: процедуры и функции
- •Тема 2.7 Строки символов
- •Способы описания строк
- •Тема 2.8 Множество
- •Операции над множествами
- •Тема 2.9 Записи
- •Описание фиксированной записи
- •Описание вариантной записи
- •Тема 2.10 Файлы данных
- •Описание файловых переменных
- •Стандартные процедуры и функции для работы с файлами
- •Тема 2.11 Динамические структуры данных
- •Указательная переменная может находиться в трех состояниях:
- •Действия с указателями
- •Стандартные процедуры для работы с динамической памятью
- •Создание прямого односвязного списка
- •Методические указания по методике отладки программ в интегрированной среде PascalAbc Изучение интегрированной среды Pascal abc
- •Перечень рекомендуемых учебных изданий, интернет-ресурсов, дополнительной литературы
Двумерные массивы
Двумерный массив представляется собой прямоугольную матрицу. Имя массива является единым для всех его элементов. Местоположение каждого элемента определяется двумя координатами: номером строки и номером столбца.
Например: А[I,J], Mas[r+2,c-1], D[3,4].
Инициализация (присваивание начальных значений) массива заключается в присваивании каждому элементу массива одного и того же значения, соответствующего базовому типу.
Направление изменения второго индекса
(номера столбца)
j= 1 2 3 . . . n
f |
|
|
|
|
|
|
|
|
|
|
|
|
|
|

первого индекса …
(номера строки) к
А[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:
Найти в двумерном массиве первый максимальный элемент и вывести его координаты .