Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
„ Д| Практические задания
4.28. Усовершенствовать проект «Поиск в строковом массиве» так, чтобы заполнение массива и ввод искомого символа происходили с помощью текстовых полей.
4.29. Создать проект поиска максимального элемента числового массива.
4.13.4. Сортировка массива
Рассмотрим задачу упорядочения (сортировки) числового массива по возрастанию значений его элементов. Пусть у нас имеется целочисленный числовой массив bytA(bytl), состоящий из 10 элементов и заполненный случайными числами. Представим массив в виде таблицы (табл. 5.9).
Таблица 5.9. Алгоритм сортировки массива по возрастанию
I | Значение счетчика цикла | ||||||||||
bytA(bytl) | До сортировки | ||||||||||
70 «------------------------------»1 | |||||||||||
Ы* | |||||||||||
с *28 | |||||||||||
57' *30 | |||||||||||
77«-*70 | |||||||||||
77*------- | -----»70 | ||||||||||
81«97 | |||||||||||
bytA(bytl) | 77 | 81 | После сортировки |
Идея алгоритма состоит в следующем. Проводим поиск минимального элемента в массиве среди элементов с 1-го по 10-й. Далее меняем найденный минимальный элемент местами с элементом с индексом 1 (выполняем перестановку).
Проводим поиск минимального элемента среди элементов со 2-го по 10-й и делаем перестановку.
Повторяем процедуру поиска минимального элемента среди оставшихся неупорядоченных элементов многократно. Повторение реализуем с помощью цикла со счетчиком, максимальное значение которого составляет JV—1, где N — количество элементов массива (в рассматриваемом случае цикл повторяется 9 раз). В результате массив упорядочивается.
Основы алгоритмизации и программирования
Поиск минимального элемента проводится многократно, поэтому реализуем его как общую процедуру МинЭлемент (bytl, bytN As Byte), где bytl является входным параметром, a bytN — выходным параметром.
Таким образом, программный модуль формы должен содержать: событийную процедуру заполнения массива случайными числами, событийную процедуру сортировки и общую процедуру поиска минимального элемента.
„Jf^ Проект «Сортировка числового массива»
1. Поместить на форму f rml кнопку cmdl и создать для нее событийную процедуру cmdlClick (), реализующую заполнение массива случайными числами.
2. Определить переменные для всего программного модуля. Преобразовать событийную процедуру из проекта «Поиск в числовом массиве» в общую процедуру МинЭлемент (bytl, bytN As Byte):
Dim bytA(l To 10), bytMin, bytl, bytJ, bytK, bytR, bytN As Byte
'Общая процедура поиска минимального элемента Sub МинЭлемент (bytl, bytN As Byte) bytMm = bytA(bytl) bytN = bytl
For bytJ = bytl + 1 To 10 If bytA(bytJ) < bytMin Then bytMin = bytA(bytJ): bytN = bytJ Next bytJ End Sub
Создать событийную процедуру сортировки. Для осуществления перестановки использовать промежуточную переменную bytR. Для визуализации процесса сортировки для каждого цикла перестановки элементов (цикл по переменной bytl) в цикле по переменной bytK выводить в текстовое поле txtSort значения элементов массива.
3. 'Событийная процедура сортировки
Private Sub cmd2_Click()
txtSort.Text = ""
For bytl = 1 To 9
'Вызов общей процедуры поиска минимального
элемента
Call МинЭлемент(bytl, bytN)
'Перестановка bytR = bytA(bytl) bytA(bytl) = bytA(bytN)
Дата публикования: 2014-10-30; Прочитано: 517 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!