Давайте пройдемся по этому.
Давайте рассмотрим случай, когда пользователь выбирает n >= 1
. (обратите внимание также k = 1
).
Сначала нам нужно, чтобы пользователь ввел один номер.
cin >> max;
Мы говорим, что это число максимальное, мы не знаем, правда это или нет, но мы делаем это предположение.
Затем мы читаем целые числа, в то время как k < n
истинно.
while (k < n)
{
cin >> num;
if (num > max)
max = num;
k++;
}
Итак, мы читаем число в num
(которое мы объявили вне цикла while).
Затем мы проверяем, больше ли это число, чем наше предположение о том, что первое число было наибольшим, если мы переназначаем max
на num
.
Затем мы увеличиваем k
.
Мы будем делать это, пока не прочитаем n
целых чисел.
В результате max становится наибольшим числом, которое мы ввели.
Что касается хранилища, нам не нужно ничего хранить, в рамках цикла while мы можем проверить, больше ли число, чем макс, или нет, если это не было, мы просто отбрасываем его следующим итерации.