Задачу можна розв’язати як з використанням масиву, так і без нього. Мінімальне значення будемо зберігати у змінній . Спочатку їй можна присвоїти або значення, що дорівнює "нескінченності" (наприклад, число, більше або рівне максимально можливому значенню серед вхідних даних — таким числом може бути 10^5), або просто перше з введених чисел.
Далі послідовно обробляємо всі вхідні дані. Якщо поточне число менше поточного значення змінної , оновлюємо її, присвоюючи нове значення.
Приклад
Розглянемо, як змінюється значення змінної в процесі обробки вхідної послідовності.
Реалізація алгоритму
Читаємо кількість заданих чисел .
scanf("%d",&n);Ініціалізуємо змінну великим числом — в ньому буде зберігатися шуканий мінімум.
min = 100000;Послідовно обробляємо всі чисел.
for(i = 0; i < n; i++)
{Читаємо чергове значення .
scanf("%d",&val);Якщо це значення менше поточного значення змінної , оновлюємо мінімум.
if (val < min) min = val;
}Виводимо знайдений мінімум.
printf("%d\n",min);Реалізація алгоритму — ініціалізація мінімуму
Читаємо кількість заданих чисел .
scanf("%d",&n);Читаємо перше число і присвоюємо його змінній — тепер вона зберігає поточне мінімальне значення.
scanf("%d",&min);Потім читаємо залишені n - 1 число.
for(i = 1; i < n; i++)
{Читаємо чергове значення .
scanf("%d",&val);Якщо це значення менше поточного значення змінної , оновлюємо мінімум.
if (val < min) min = val;
}Виводимо шуканий мінімум.
printf("%d\n",min);Реалізація алгоритму – STL
Читаємо вхідні дані.
scanf("%d", &n);
v.resize(n);
for (i = 0; i < n; i++)
scanf("%d", &v[i]);Вираховуємо і виводимо найменший елемент.
res = *min_element(v.begin(), v.end());
printf("%d\n", res);Java реалізація — вирахування мінімуму на льоту
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int min = Integer.MAX_VALUE;
for(int i = 0; i < n; i++)
{
int val = con.nextInt();
if (val < min) min = val;
}
System.out.println(min);
con.close();
}
}Java реалізація — використання масиву
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int m[] = new int[n];
// Read data
for(int i = 0; i < m.length; i++)
m[i] = con.nextInt();
// Find minimum in array
int min = Integer.MAX_VALUE;
for(int i = 0; i < m.length; i++)
if (m[i] < min) min = m[i];
// Print the minimum
System.out.println(min);
con.close();
}
}Python реалізація з індексами елементів списку
import sysЧитаємо вхідні дані.
n = int(input())
m = list(map(int,input().split()))Ініціалізуємо змінну великим числом — в ній буде зберігатися шуканий мінімум.
min = sys.maxsizeПослідовно обробляємо елементи списку . У процесі перебору оновлюємо змінну , зберігаючи в ній найменший елемент списку.
for i in range(n):
if m[i] < min: min = m[i]Виводимо відповідь.
print(min)Python реалізація
import sysЧитаємо вхідні дані.
n = int(input())
m = list(map(int,input().split()))Ініціалізуємо змінну великим числом — в ній буде зберігатися шуканий мінімум.
min = sys.maxsizeПослідовно обробляємо елементи списку . У процесі перебору оновлюємо змінну , зберігаючи в ній найменший елемент списку.
for v in m:
if v < min: min = vВиводимо відповідь.
print(min)Python реалізація — функція min
Читаємо вхідні дані.
n = int(input())
m = list(map(int,input().split()))Функція min повертає мінімальний елемент у списку. Виводимо відповідь.
print(min(m))