Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Упорядочение массива




Упорядочение (сортировка) - это расположение значений элементов.массива в порядке возрастания или убывания их значении

Упорядочение массива методом "пузырька ".

Рассмотрим алгоритм упорядочения массива по возрастанию методом "пучырь-ка", в соответствии с которым элементы массива просматриваются слева направо. Каж­дый предыдущий элемент сравнивается с последующим. Если предыдущий элемент больше последующего, то предыдущий и последующий элементы меняются местами.


С - простая переменная.

С:= предыдущий элемент;

предыдущий элемент:= последующий элемент;

последующий элемент:=С;

Просмотр проводится от 1-го элемента до N-1 (N - количество элементов в массиве).

Если при просмотре произошла хотя бы одна перестановка чисел, то просмотр повторяется. Указанный процесс заканчивается, когда при просмотре элементов масси­ва никакие 2 элемента не менялись местами.

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

массив А из 4-х элементов целых чисел упорядочить по возрастанию.

Рассмотрим программу упорядочения массива по возрастанию.

Пример 1. Массив А1,А2,...Ап. Алгоритм:

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

2. Сортировка.

3. Вывод отсортированного массива.

Шаг 2 алгоритма.

metka: k:=0; {признак того, что массив упорядочен} FOR I-l TON- 1 DO ifa|i]>ali+ljthen begin c:-a[i];

a[i]:=a[i+l];

a[i+l]:=c;

k:=l;


end;

ifk==l then goto metka

else writeln('ynopMA04eH');

С использованием вложенных циклов шаг 2 может быть записан так:

fori:=l ton-1 do forj:=l to n-i do ifa|j]>a[j+l]then begin c:=a[j1;

a[J]:=a[J+l];

a[j+l]:=c;

end;

где a - исходный массив чисел;

n - число элементов в массиве;

i - параметр внешнего цикла;

j - параметр внутреннего цикла;

с - вспомогательная переменная, используемая для обмена.

Пример 2

Исходный массив А: 50,40,30,20,10 упорядочен по убыванию. Применим алгоритм упорядочения по возрастанию с использованием вложенных никлов-


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

До сих пор рассматривали массивы, каждый элемент которых содержал только один индекс. Такие массивы называются одномерными. В математике часто использу­ются многомерные массивы (двумерные, трехмерные и т.д.). Мы рассмотрим двумер­ные массивы, иначе называемые матрицами. Например:

Данная матрица имеет размер 3 на 4, т. е. она состоит из трех строк и четырех столб­цов. Если всю матрицу обозначить одним именем, например А, то каждый элемент матрицы будет иметь два индекса - A[ij].

Здесь первый индекс i обозначает номер строки (i=l,2,3), второй индекс j-номер столб­ца (j=l,2,3,4). Такую матрицу можно описать следующим образом (с использованием имени типа Т):

1-ый способ'(чаще используется) Type Т = array [1..3,1..4] of integer;

Var A: T;

2-ой способ Type Т = array [1..3] of array [1..4] of integer;

Var A: T;

Ввод элементов двумерного массива (матрицы) For i:=l to n do Forj:=l torn do Readln(A[ij]);

Печать

For i:=l to n do

begin

Forj:=l to m do

Write (A[i,j],''); {Вывод элементов одной строки матрицы }

writein; {переход на следующую строку экрана} end;

где

А- имя массива;

i-индекс строки;

j-индекс столбца;

N-количество элементов в строке;

М-количество элементов в столбце.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных