Условие задачи : Найти наименьший элемент одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.
Сложность : средняя .
Сначала подумаем как мы будем решать эту задачу.
Первое что мы сделаем это введем массив, чтобы было с чем работать, затем уже будем искать наименьший элемент с помощью цикла, перебором.
Какие переменные нам понадобятся?
- Для цикла
- Для кол-ва элементов
- Переменная для минимального элемента
- И переменная для массива
Для начала создадим свой тип данных, как и зачем читайте (тут)
Пишем :
type massiv = array [1..100] of integer;
Теперь можно объявлять переменные и просить пользователя ввести кол-во элементов нашего массива :
var i , n , min : integer; mass : massiv; begin write('Введите кол-во элементов массива : '); readln(n); end.
Теперь нам нужно заполнить наш массив данными для этого используем цикл for :
for i:=1 to n do begin write('Введите ', i , ' элемент массива '); readln(mass[i]); end;
Теперь надо определить наименьший элемент, мы это будем делать с помощью сравнения, для этого мы переменной min(минимальное число) присвоим значение первого элемента массива, а затем уже будем сравнивать со следующим и если этот следующий элемент будет меньше предыдущего то меняем значение.
Пример :
Допустим у нас есть массив из трех чисел : 5 3 4
Изначально у нас переменная min будет равняться первому числу массива, в нашем случаи 5. И мы её сравниваем со вторым числом массива , т.е. 3.
3 меньше 5 значит у нас в переменной min уже будет 3, теперь дальше мы сравниваем её с 4, 4 больше 3 значит переменная min остаётся равной 3, вот такой принцип :
min := mass[1]; // присваиваем min значение 1-го элемента массива for i:=2 to n do begin if min > mass[i] then min := mass[i]; end;
i равно 2, потому что смысла начинать с 1-го элемента нет, мы будем сравнивать одинаковые числа.
Вот и вся задача.
Весь код программы :
uses crt; type massiv = array [1..100] of integer; var i , n , min : integer; mass : massiv; begin clrscr; //очищаем экран write('Введите кол-во элементов массива : '); readln(n); for i:=1 to n do begin write('Введите ', i , ' элемент массива : '); readln(mass[i]); end; min := mass[1]; // присваиваем min значение 1-го элемента массива for i:=2 to n do begin if min > mass[i] then min := mass[i]; end; write('Минимальный элемент массива : ', min); readln; // чтобы программа не закрывалась end.