Урок 36. Обработка массива. Поиск максимального элемента

Урок из серии: «Программирование на Visual Basic.NET для школьников»

В предыдущем уроке рассказывалось, как описать массив и заполнить его данными.

В этом уроке мы начнем изучать алгоритмы, связанные с обработкой массивов.

Часто требуется вычислить сумму элементов массива, их среднее арифметическое значение или найти значения и номера максимального и минимального элементов, а также изменить значения элементов массива и т.д.

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

В этом уроке рассмотрим алгоритм нахождения максимального элемента в массиве, довольно-таки типичная задача для большого количества данных.

Проект «Поиск максимального элемента»

Задание.Разработать проект, в котором числовой массив, содержащий 10 элементов, заполняется случайными числами в диапазоне от 0 до 100. Осуществить в этом числовом массиве поиск максимального элемента и его индекса.

Ход выполнения проекта

    1. Создание графического интерфейса проекта.
      Поместить на форму:
      • две надписи label1 и label2 для вывода поясняющего текстов.
      • надпись label3 для вывода значения максимального элемента;
      • надпись label4 для вывода номера максимального элемента;
      • список listBox1 для вывода значений индекса элементов массива;
      • список ListBox2 для вывода значений элементов массива;
      • кнопку Button1 для заполнения массива;
      • кнопку Button1 для поиска максимального элемента массива.

      Поиск максимального элемента

    2. Объявим целочисленные переменные I и Max, а также целочисленный массив A(9), содержащий 10 элементов.
       Dim I, a(9), max As Integer
  1. Создадим обработчик события для заполнения целочисленного массива случайными числами.
    Заполним массив целыми случайными числами от 0 до 100.

     ' Заполнение массива случайными числами
     Randomize()
     ListBox1.Items.Clear()
     ListBox2.Items.Clear()
     For i = 0 To 9
        A(I) = Int(Rnd() * 100)
        ListBox1.Items.Add(Str(I))
        ListBox2.Items.Add(Str(a(I)))
     Next i
  2. Создадим обработчик события для поиска максимального элемента и его индекса.Будем считать, что сначала максимальный элемент равен первому элементу массива, т.е.  A(imax) = A(0) и  imax = 0В цикле со счетчиком i с использованием оператора ветвления последовательно сравним максимальный элемент массива  со всеми остальными элементами.

    Если какой либо элемент массива окажется больше, то присвоим переменной max значение этого элемента, запомним в переменной imax индекс этого элемента.

    Результат поиска, т.е. индекс максимального элемента и сам максимальный элемент, выведем на надписи.

    Получится следующий программный код:

     
    'Поиск максимального элемента
    max = 0 : max = a(0)
    For I = 1 To 9
       If a(I) > max Then max = a(I) : imax = I
    Next I
    Label1.Text = imax
    Label2.Text = max
  3. Запустим проект.Поиск максимального элемента

    Щелкните по кнопку Заполнить и Найти несколько раз.

    На надписи будут выводиться результаты поиска индекса максимального элемента и сам максимальный элемент для различных вариантов заполнения массива.

  4. Сохранить проект

  5. В этом уроке мы познакомились с алгоритмом для нахождения максимального элемента в одномерном массиве.

    В следующем уроке рассмотрим алгоритмы сортировки одномерных массивов.

    Следующий урок: «Сортировка числового массива»

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии