Автор работы: Пользователь скрыл имя, 06 Февраля 2011 в 23:33, курсовая работа
Массив является удобным способом хранения нескольких связанных элементов данных в едином контейнере для большего удобства и эффективности программирования. Массив позволяет сохранять и манипулировать многими элементами данных посредством единственной переменной. Кроме уменьшения общего числа различных имен переменных, которые необходимо отслеживать, другим основным преимуществом использования массивов является то, что можно использовать циклы для легкой обработки различных элементов массивов. Объединяя массивы и циклы можно написать небольшое число операторов, которые обрабатывают большой объем данных. Выполнение тех же задач с использованием отдельных переменных может потребовать написания сотен операторов.
Введение 3
1. Определение и типы массивов 4
2. Основные операции обработки массивов 7
2.1 Определение размерности массива, заполнение массива 7
2.2 Вывод массива на экран 9
2.3 Поиск требуемого элемента в массиве 10
2.4 Поиск максимального и минимального элементов массива 12
2.5 Сортировка элементов массива 13
3. Особенности обработки двумерных массивов 15
4. Обработка квадратных матриц 17
4.1 Определение диагоналей массива 17
4.2 Определение четвертей матрицы 18
5. Открытые массивы 20
Список литературы 21
Для того чтобы вывести двумерный массив на экран в виде таблицы необходимо после вывода содержимого каждой строки предусмотреть переход на строку ниже:
For i:=1 to n do
Begin
For j:=1 to n do
Write(mas[i,j],’ ‘);
Writeln;
End;
4. Обработка квадратных матриц
Если количество строк массива равно количеству столбцов, то такой массив называется квадратной матрицей. При работе с квадратной матрицей, в отличие от обычного двумерного массива, можно выделить:
11 | 12 | 13 | 14 | 15 |
21 | 22 | 23 | 24 | 25 |
31 | 32 | 33 | 34 | 35 |
41 | 42 | 43 | 44 | 45 |
51 | 52 | 53 | 54 | 55 |
Здесь
первая цифра номера элемента обозначает
номер строки матрицы (i), вторая цифра
– номер столбца (j)
Для
определения элементов, входящих в любой
из перечисленных разделов, существует
формула, основными составляющими которой
являются i – номер строки, j – номер столбца
и N – размерность массива. Например, для
определения элемента с номером 43, расположенного
под побочной диагональю можно использовать
формулу i+j>N+1, где i=4, j=3, N=5, таким образом,
получаем 4+3>5+1.
4.1 Определение диагоналей
массива
Рисунок
4. Диагонали двумерного массива
Таким образом, в матрице, представленной в п. 4, элементы с номерами 11, 22, 33, 44 и 55 являются элементами главной диагонали. Элементы с номерами 15, 24, 33, 42, 51 – элементы побочной диагонали.
Расположение элементов, находящихся над или под диагональю, определяется по отношению к одной из диагоналей.
Рисунок 5. Расположение элементов по отношению к диагоналям
Элементы
12, 13, 14, 15, 23, 24, 25, 34, 35 и 45 расположены
над главной диагональю, 21, 31, 32, 41,
42, 43, 51, 52, 53, 54 расположены под главной
диагональю. Элементы 11, 12, 13, 14, 21, 22, 23, 31,
32 и 41 расположены над побочной диагональю,
25, 34, 35, 43, 44, 45, 54, 53, 54, 55 расположены под
побочной диагональю.
4.2 Определение четвертей матрицы
Относительно обеих диагоналей элемент массива может находиться в одной из четвертей.
12, 13, 14, 23 – элементы первой четверти
25, 34, 35, 45 – элементы второй четверти
43, 52, 53, 54 – элементы третьей четверти
21, 31, 32, 41 – элементы четвертой четверти
Рисунок 6. Определение четвертей матрицы
Используя правила, представленные на рисунке 6, очень легко можно программным путем формировать матрицы требуемого вида.
Например, сформировать матрицу N × N вида:
4 | 0 | 0 | 0 | 5 |
1 | 4 | 0 | 5 | 2 |
1 | 1 | 4 | 2 | 2 |
1 | 5 | 3 | 4 | 2 |
5 | 3 | 3 | 3 | 4 |
Var
mas:array[1..100,1..100] of integer; i,j,n:integer;
Begin
Writeln(‘Введите размерность массива’);
Readln(n);
For i:=1 to n do {заполняем массив в соответствии с правилами}
For j:=1 to n do
Begin
If i=j then mas[i,j]:=4;
If i+j<N+1 then mas[i,j]:=5;
If (i<j) and (i+j<N+1) then mas[i,j]:=0;
If (i<j) and (i+j>N+1) then mas[i,j]:=2;
If (i>j) and (i+j>N+1) then mas[i,j]:=3;
If (i>j) and (i+j<N+1) then mas[i,j]:=4;
End;
For i:=1 to n do {выводим полученный массив на экран в виде таблицы}
Begin
For j:=1 to n do
Write(mas[i,j],’ ‘);
Writeln;
End;
End.
5. Открытые массивы
Открытые массивы используются в процедурах и функциях как параметры, у которых не задаются размеры. Фактический размер в этом случае определяется с помощью функций High. Индексация всегда начинается с нуля.
Например,
Вычислить максимальный элемент в массиве
function Max (Var Mas: array of integer): integer;
Var Ma : integer;
i : Byte;
Begin
Ma : = Mas [0];
for i : = 1 to High (Mas) do
if Ma < Mas [i] then
Ma : = Mas [i];
Max : = Ma
End.
Данная
функция может работать с любым одномерным
массивом целых чисел.
Список литературы