Вычисление минимального и максимального элементов в одномерных массивах
При вычислении минимального или максимального элементов в одномерном массиве должны выполняться следующие условия: Y(i), если Y(i) > Max; Max = Max, если Y(i) £ Max.
Y(i), если Y(i) < Min; Min = Min, если Y(i) ³ Min.
За первоначальное значение максимального элемента можно принять очень маленькое число или первый элемент массива, а за первоначальное значение минимального элемента – очень большое число или первый элемент массива, т.е., например, если массив состоит из целых чисел, то Max = – 32000 или Max = Y(1), Min = 32000 или Min = Y(1).
Пример 1 Прочитать с рабочего листа Excel одномерный массив. Вычислить минимальный и максимальный элементы этого массива и поменять их местами. Новый массив поместить на тот же лист ниже первого. Минимальный и максимальный элементы также напечатать на рабочем листе.
Программный код
Sub PR17() Dim A(10) As Integer Dim i As Integer, R As Integer Dim Min As Integer, Max As Integer, IMin As Integer, IMax As Integer For i = 1 To 10 A(i) = Cells(1, i) ‘ ввод массива Next i Min = 32000: Max = –32000 For i = 1 To 10 If A(i) > Max Then Max = A(i) ‘ вычисление максимума IMax = i ‘ и его номера End If If A(i) < Min Then Min = A(i) ‘ вычисление минимума IMin = i ‘ и его номера End If Next i Cells(2, 1) = "Max=" Cells(2, 2) = Max Cells(2, 4) = "IMax" Cells(2, 5) = IMax Cells(3, 1) = "Min=" Cells(3, 2) = Min Cells(3, 4) = "IMin" Cells(3, 5) = IMin R = A(IMax) ‘ меняем местами A(IMax) = A(IMin) ‘ максимальный и A(IMin) = R ‘ минимальный элементы For i = 1 To 10 Cells(5, i) = A(i) ‘ вывод массива Next i End Sub
В результате работы этой программы на рабочем листе Excel появятся следующие данные (рис. 5).
Рис. 5. Вычисление минимального и максимального элементов массива
Пример 2 Задан одномерный массив Х(N). Вычислить максимальный из отрицательных элементов этого массива.
Программный код
Sub PR18() Dim Х(100) As Integer Dim i As Integer, N As Integer, Max As Integer N = Val(InpurBox(“Введите N”)) For i = 1 To 10 Cells(1, i) = Int(Rnd * 100 – 50) X(i) = Cells(1, i) Next i Max = –32000 For i = 1 To 10 If X(i) > Max And X(i) < 0 Then Max = X(i) Next i MsgBox(“Max=” & Max) End Sub
Сортировка элементов одномерного массива методом “пузырька”
Рассмотрим одномерный массив А: – 4 6 – 2 10 Нужно расставить элементы этого массива по убыванию, т.е. получить массив 10 6 - 2 - 4. Метод “пузырька” заключается в том, что сравниваются два соседних элемента массива, и если первый из них меньше второго, то их переставляют местами (сортировка по убыванию).
I просмотр
– 4 6 – 2 10
6 – 4 – 2 10
6 – 2 – 4 10
6 – 2 10 – 4
II просмотр
6 – 2 10 – 4
6 10 – 2 – 4
III просмотр
6 10 – 2 – 4
10 6 – 2 – 4
Для того чтобы поменять местами два элемента массива, необходимо в дополнительную переменную, например R, записать один элемент массива, на место этого элемента записать второй элемент, а на место второго записать значение переменной R.
Пример Поменять местами первый и второй элементы массива.
R = A(1) A(1) = A(2) A(2) = R Для сортировки массива методом “пузырька” по убыванию необходимо написать и отладить следующую программу.
Option Explicit Sub PR19() Dim A(30) As Integer Dim N As Integer Dim I As Integer Dim K As Integer Dim R As Integer N = Val(InputBox("Введите N")) For I = 1 To N a(i) = Int(Rnd * 100 – 50) ‘ Заполнение элементов массива ‘ случайными числами msgbox(“a(“ & I & “)” & a(i)) ‘ Заполнение массива Next I ‘ Сортировка массива For K = 1 To N–1 For I = 1 To N–K If A(I) < A(I+1) Then R = A(I) ‘ Перестановка элементов A(I) = A(I+1) A(I+1) = R End If Next I Next K ‘ Распечатка полученного массива на рабочем листе Excel Cells(3,3) = "Упорядоченный массив" For I = 1 To N Cells(5,I) = A(I) Next I End Sub
При сортировке массива методом “пузырька” по возрастанию в программе следует изменить только знак “меньше” (<) на знак “больше” (>).
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Почему стероиды повышают давление?: Основных причин три... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (401)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |