Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка.doc
Скачиваний:
33
Добавлен:
07.06.2015
Размер:
5.91 Mб
Скачать

Самостоятельная работа Обработка элементов диагоналей квадратных матриц Теоретическая часть

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

Элементы массива можно использовать в любом выражении точно также как и значение константы или переменной.

Например:

a[0][0]=11.2;

a[1][2]=10.2;

a[3][1]=22.1;

a[4][2]=1.1; Y = 2*a[0][1] – a[1][0];

Селективная обработка массива – это выделение из массивов элементов, удовлетворяющих условию, и обработка выделенных фрагментов. Часто из выделенных фрагментов формируют новый (рабочий) массив, который далее и обрабатывают.

Наиболее часто встречаются такие условия обработки элементов массива:

– четные A[i] %2 ==0

– нечетные A[i] %2 !=0

– кратные k A[i] % k ==0

– не кратные k A[i] % k !=0

– стоящие на четных местах i % 2==0

– стоящие на нечетных местах i % 2!=0

– положительные A[i] >0

– отрицательные A[i] <0

– в интервале (x1,x2) (A[i]>x1) && (A[i]<x2)

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

Цикл, который содержит другой цикл называют внешним циклом, а цикл, содержащийся в теле другого цикла, называют внутренним. Все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.

Поэтому, если за счетчик внешнего цикла взять индекс строки, а за счетчик внутреннего – номер столбца, то обработка двухмерного массива будет идти по строкам, а если наоборот, то по столбцам.

При обработке двумерных массивов часто приходится выделять элементы:

k – й строки A[i][j], где i==k, j=1, …, М

k – го столбца A[i][j], где i=1, …, N; j==k

а для квадратных матриц (M=N) также:

главной диагонали A[i][i], где i=1, …, N

побочной диагонали A[i][N+1-i], где i=1, …, N

наддиагональные A[i][j], где i>j

поддиагональные A[i][j], где i<j

Существует множество алгоритмов для сортировки массивов. Ниже рассмотрены два из них: сортировка выбором и методом пузырька.

1. Сортировка выбором

Суть этого метода очень проста и может быть описана так:

1.        В последовательности из n элементов выбирается наименьший (наибольший) элемент;

2.        Меняется местом с первым;

3.        Далее процесс повторяется с оставшимися n-1 элементами, затем с оставшимися n-2 элементами и т.д., до тех пор пока не останется один самый большой (маленький) элемент.

Для реализации этого алгоритма необходимо использовать два вложенных цикла с параметром For. Внешний цикл (по i) предназначен для последовательного фиксирования элементов массива, внутренний (по j) - осуществляет поиск минимального (максимального) и его позиции в неотсортированной части массива. После выхода из внутреннего цикла следует перестановка элементов. Последний элемент во внешнем цикле не рассматривается: он сам встанет на свое место.