Я не понимаю как if находит минимальное и максимально число в массиве
int i, min_val, max_val;
int nums[10];
nums[0] = 10;
nums[1] = 18;
nums[2] = 75;
nums[3] = 0;
nums[4] = 1;
nums[5] = 56;
nums[6] = 100;
nums[7] = 12;
nums[8] = -19;
nums[9] = 88;
min_val = max_val = nums[0];
for(i = 1; i < 10; i++){
if (nums[i] < min_val) min_val = nums[i];
if (nums[i] > max_val) max_val = nums[i];
}
В этом коде ,я так понял min_val , max_val берут значение 10. Как if находит именное самое маленькое и самое большое число если условие < 10 или > 10? if (nums[i] < min_val) min_val = nums[i] и if (nums[i] > max_val) max_val = nums[i]
Ответы (1 шт):
Буквально построчно:
for(i = 1; i < 10; i++){ // Для всех (оставшихся) значений массива
if (nums[i] < min_val) min_val = nums[i];
Если очередное значение меньше запомненного минимального (до настоящего времени) - то теперь минимальным становится это исследованное значение. Если нет - ничего не меняем.
if (nums[i] > max_val) max_val = nums[i];
Если очередное значение элемента массива больше запомненного максимального (до настоящего времени) - то теперь максимальным становится это исследованное значение. Если нет - ничего не меняем.
Может, так станет понятнее (попробуйте сами с карандашом и бумажкой):
i 1 2 3 4 5 6 7 ...
num 18 75 0 1 56 100 12 ...
min 10 10 10 0 0 0 0 0
max 10 18 75 75 75 75 100 100