Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритм сортировки одномерного массива по возрастанию

Сортировка числовых одномерных массивов

End Sub

Next i

Next i

Dim x(1 To 10), max As Single, i As Integer

Примеры обработки одномерных массивов

Пример 16.1.

Задан одномерный массив Х=хi i=1,2,...,10. Составить программу определения максимального элемента.(см. глава 10, рис. 10.10).

Private Sub CommandButton1_Click()

For i = 1 To 10

x(i) = Val(InputBox(" Введите " & i & " Элемент массива "))

max = x(1)

For i = 2 To 10

If max < x(i) Then max = x(i)

MsgBox "max=" & max

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

Пример 16 .2.

Составить алгоритм и программу сортировки по возрастанию одномерного массива вещественных чисел методом пузырька.

Задан массив Х=хi, i=1,2,...,6.

Введем переменную р - признак перестановок элементов в массиве.

 
 


 

 

 

Программа сортировки одномерного массива по возрастанию

Dim x(1 To 6), a As Single

Dim i, p As Integer

For i = 1 To 6

x(i) = Val(InputBox(" Введите " & i & " элемент массива "))

Next i

1: p = 0

For i = 1 To 5

If x(i) > x(i + 1) Then a = x(i): x(i) = x(i + 1): x(i + 1) = a: p = 1

Next i

If p = 1 Then GoTo 1 ‘ Если были перестановки (р=1), то переход к метке 1

Debug.Print "Упорядоченный по возрастанию массив "

For i = 1 To 6

Debug. Print x(i)

Next i

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

Cостоит из строк и столбцов (см. глава 10, двумерные массивы). Математическая запись массива:

А= (аi,j), i=1,2,...,n; j= 1,2,3,…,m

где A -имя массива;

aij - имя элемента массива в общем виде (индексная переменная);

i -индекс, указывающий на порядковый номер строки в массиве;

J - индекс, указывающий на порядковый номер столбца в массиве;

В VBА имя элемента массива в общем виде запишется так - a(i,j).

Синтаксис описания статических двумерных массивов:

dim Имя (размерность массива) [ AS тип массива ]

Пример описания: dim а(i to 2, j to 2) as single

где: а – имя массива; массив двумерный; длина - 4 элемента; тип- вещественный. По такому описанию будут выделены 4 ячейки с именами a(1,1); a(1,2); a(2,1); a(2,2);

Общая блок – схема обработки двумерного массива по строкам.


<== предыдущая лекция | следующая лекция ==>
End Sub. Пример 15.3.Составить программу вычисления по следующей итерационной формуле yi+1=0,5(yi + x/yi) с заданной точностью Е=0.001 | Тела цикла тела цикла
Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 1504; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.