Сортировка массива с помощью дерева - VB

Узнай цену своей работы

Формулировка задачи:

Помогите сделать лабу. Сортировка массива с помощью дерева Цель выполнения заданий: освоение алгоритмов и методов построения дере-вьев и их применение для сортировки массивов. Задание № 1. Сортировка числового массива с помощью дерева по воз-растанию. Задание выполняется в Excel. 1.1. Сформировать одномерный массив чисел. Для этого в строку 2 вве-сти массив целых случайных чисел, имеющих равномерный закон распреде-ления в интервале [20, 45] (рис. 1): Рис. 1. ---------------------------------------------------------- Массив может иметь любую размерность. Для заполнения массива ис-пользовать функции ЦЕЛОЕ() и СЛЧИС() и операцию автозаполнения ячеек Excel. 1.2. Разработать модуль (процедуру) сортировки массива по возраста-нию с помощью дерева. Модуль должен содержать следующие процедуры: 1.2.1. Процедура Read_array. Служит для считывания данных из электронной таблицы и присвоения их одномерному массиву A(N). Размер-ность массива должна определяться автоматически. 1.2.2. Процедура Sort_tree. Основана на обращении к процедуре Shift (служит для построения дерева) с целью сортировки массива A(N). Процеду-ра Sort_tree должна обеспечивать вывод результатов сортировки в электрон-ную таблицу Excel. 1.3. Вывести результаты сортировки и построить бинарное дерево — пирамиду. Дерево должно быть представлено в виде гистограммы и графа, расположенного в ячейках электронной таблицы Excel. Варианты задания. В1. Сформировать данные согласно п. 1.1. задания 1. Массив должен содержать данные действительного типа. Для генерации данных с помощью указанных функций INT()(ЦЕЛОЕ()) и RAND() (СЛЧИС()) создать модуль Gener. Затем выполнить п. 1.2 – 1.3 задания 1, отсортировав массив по убыванию. 1.1. я сделала , а дальше никак

Решение задачи: «Сортировка массива с помощью дерева»

textual
Листинг программы
' генерируем одномерный массив в строку с номером line, длинной в n элементов целого типа (чисел) в диапазоне [20..45] включительно
Sub real_gener(line, n As Integer)
  Sheets(1).Range(Cells(line, 1), Cells(line, n)).FormulaLocal = "=ЦЕЛОЕ(СЛЧИС()*(46-20)+20)" '  для генерации целых чисел в диапазоне [a..b] исп формулу: CСЛЧИС()*(b+1-a)+a
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5