Шаг 29.
Организация одномерных массивов (окончание)


    Проиллюстрируем использование одномерных массивов при решении задач.

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


Рис.1. Исходные массив и переменная

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


Рис.2. В качестве минимального берем первый элемент

а затем будем последовательно, начиная со второго элемента массива и до конца, сравнивать значение переменной Minimum с каждым элементом массива. Если окажется, что текущий элемент массива меньше значения переменной Minimum, то в качестве значения этой переменной возьмем значение текущего элемента массива.

    После завершения просмотра всех элементов массива переменная Minimum будет содержать значение минимального элемента массива:


Рис.3. Переменная Minimum содержит минимальный элемент

    Анализ описанного алгоритма позволяет сделать вывод, что здесь повторяется одна и та же операция сравнения значения каждого элемента массива со значением переменной Minimum. Значит, без цикла не обойтись. Причем здесь лучше использовать цикл For, так как известно количество повторений тела цикла. Приведем последовательность операторов, реализующих данный алгоритм:


    Minimum:=A[1];
    For i:=2 To 5 Do
        If Minimum > A[i] Then  Minimum:=A[i];

    Объединим фрагменты заполнения массива и нахождения минимального элемента:

Program Minimum_v_Massive;
Var
  i: Byte;
  A: Array[1..5] Of  Integer;
  Minimum: Integer;
Begin
  {Заполнение массива}
  Randomize;
  For i:=1 To 5 Do
     A[i]:=Random(11);
  WriteLn('Исходный массив');
  For i:=1 To 5 Do 
     Write(A[i], '  ');
  WriteLn;
  {Нахождение минимального элемента}
  Minimum:=A[1];
  For i:=2 To 5 Do
     If Minimum > A[i] Then Minimum:=A[i];
  WriteLn('В заданном массиве минимальный элемент равен ', Minimum);
End.
Текст этой программы можно взять здесь.


1. Реализуйте эту же самую программу с использованием цикла While.
2. Измените программу так, чтобы она выводила на экран максимальное значение элемента массива.
3. Какие изменения в программе нужно сделать, чтобы массив заполнялся целыми числами на промежутке от 30 до 50 включительно?
4. Измените программу так, чтобы количество элементов массива можно было задавать с клавиатуры.

Решение и комментарии вы можете посмотреть здесь.



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


Предыдущий шаг Содержание Следующий шаг