Обработка двумерного массива — КиберПедия 

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

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

2017-12-22 191
Обработка двумерного массива 0.00 из 5.00 0 оценок
Заказать работу

Обработка двумерных массивов производится аналогичным образом. Например, если мы хотим записать в массив таблицу умножения, то есть присвоить элементу A[i][j] значение i * j, это можно сделать следующим образом при помощи вложенных циклов:

for (i = 0; i< n; ++i)

{

for (j = 0; j < m; ++j)

{

A[i][j] = i * j;

}

}

Рассмотрим более сложную задачу и несколько способов ее решения. Пусть дан квадратный двумерный массив int A[n][n]. Необходимо элементам, находящимся на главной диагонали проходящей из левого верхнего угла в правый нижний (то есть тем элементам A[i][j], для которых i==j) присвоить значение 1, элементам, находящимся выше главной диагонали – значение 0, элементам, нахощящимся ниже главной диагонали – значение 2. То есть получить такой массив (пример для n==4):

1 0 0 0

2 1 0 0

2 2 1 0

2 2 2 1

Рассмотрим несколько способов решения этой задачи. Элементы, которые лежат выше главной диагонали – это элементы A[i][j], для которых i<j, а для элементов ниже главной диагоналиi>j. Таким образом, мы можем сравнивать значения i и j и по ним определять значение A[i][j]. Получаемследующийалгоритм:

for (i = 0; i< n; ++i)

{

for (j = 0; j < n; ++j)

{

if (i< j)

{

A[i][j] = 0;

}

else if (i> j)

{

A[i][j] = 2;

}

else

{

A[i][j] = 1;

}

}

}

Данный алгоритм плох, поскольку выполняет одну или две инструкции if для обработки каждого элемента. Если мы усложним алгоритм, то мы сможем обойтись вообще без условных инструкций.

Сначала заполним главную диагональ, для чего нам понадобится один цикл:

for (i = 0; i< n; ++i)

{

A[i][i] = 1;

}

Затем заполним значением 0 все элементы выше главной диагонали, для чего нам понадобится в каждой из строк с номером i присвоить значение элементам A[i][j] для j=i+1,..., n-1. Здесь нам понадобятся вложенные циклы:

for (i = 0; i < n; ++i)

{

for (j = i + 1; j < n; ++j)

{

A[i][j] = 0;

}

}

Аналогично присваиваем значение 2 элементам A[i][j] для j=0,..., i-1:

При вводе массива необходимо последовательно вводить 1-й, 2-й, 3-й и т.д.

элементы массива, аналогичным образом поступить и при выводе. Следовательно,

необходимо организовать цикл.

Блок-схемы алгоритмов ввода элементов массива изображены на рис. 6.3-6.4.

 

Рис 6.3 Алгоритм ввода массива Рис. 6.4. Алгоритм ввода массива

с использованием цикла с использованием

с предусловием безусловного цикла

Как видно, безусловный цикл удобно использовать для обработки всего

массива, и в дальнейшем при выполнении таких операций будем применять

именно его. Вывод массива организуется аналогично вводу.

Рассмотрим несколько примеров обработки массивов. Алгоритмы, с

помощью которых обрабатывают одномерные массивы, похожи на обработку

последовательностей (вычисление суммы, произведения, поиск элементов по

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

массиве одновременно доступны все его компоненты, поэтому становится

возможной, например, сортировка его элементов и другие, более сложные

преобразования.

 

Основные сведения о динамичном массиве.

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

Декларация динамического массива в VBA.

DimИмя_Массива() As Тип

Переопределение массива. Для этого используется оператор Redim. Если переобозначение одного и того же массива происходит несколько раз то для сохранения данных используется оператор Preserve.

RedimPrserveИмя_Массива(n) [As Тип]

 

 

Сортировка массива методом пузырька массива

Сортировка массива методом пузырька – медленная, но если скорость не главное, можно применить и его. Алгоритм очень прост – если два соседних элемента расположены не по порядку, то меняем их местами. Так повторяем до тех пор, пока в очередном проходе не сделаем ни одного обмена, т.е. массив будет упорядоченным.

 

 

Сортировка масива методом нахождения минимального элемента массива

Сортировка массива методом нахождения минимального элемента этот вариант сортировки более быстрый, чем метод пузырька. Заключается он в следующем: при каждом просмотре массива находим минимальный элемент и меняем местами его с первым на первом проходе, со вторым - на втором и т.д.

 

 

Экранная форма

ЭКРАННАЯ ФОРМА Окно с полями для ввода или исправления в них значений полей записи, называют экранной формой. Если в одной форме собрана информация сразу из нескольких таблиц базы, то такая форма называется составной. Форма, в которой каждое поле помещено на отдельной строке, а каждая запись - на отдельной странице, называется простой формой.

 


Поделиться с друзьями:

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

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

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.015 с.