Снизу кусок кода и то, что он выдаёт, минимально число - не правильное, что можно или...

0 голосов
72 просмотров

Снизу кусок кода и то, что он выдаёт, минимально число - не правильное, что можно или нужно сделать для того, чтобы оно выдавало правильное минимально число. Заранее спасибо


image

Информатика (12 баллов) | 72 просмотров
0

Разобрался сам

0

ошибка была в конце и начале кода. https://znanija.com/task/929432

Дан 1 ответ
0 голосов

Ответ:

Можешь сразу читать 3 пункт, если интересна проблема только данного кода.

Объяснение:

1) Во-первых, обычно для максимальных и минимальных значений используют противоположные значения, чтобы их потом с чем-либо сравнивать, то бишь вместо nmin:=n[1] тебе следовало бы написать что-то типа nmin:=1000, а не nmin:=n[1], ибо первый элемент у тебя пуст, то есть у тебя nmin изначально равно 0, что не очень хорошо.

2) Во-вторых, когда ты пробегаешься по массиву, чтобы найти минимальное значение, ты почему-то начинаешь со второго элемента, не обращая внимания на первый, - это не очень хорошо. В данном случае, конечно, это не сыграло никакой роли, но если бы первый элемент был минимальным, то он бы был пропущен и программа бы вывела неправильный ответ.  

3) Но в твоём случае это на правильный ответ никак не влияет - проблема кода в том, что если он найдёт минимальный элемент, то в nmin уйдёт индекс этого элемента, а не сам элемент, то есть надо поменять строчку nmin:=b на nmin:=n[b].

(58 баллов)
0

СПАСИБО за помощь, но ошибку я нашёл до этого, в nmin я записываю индекс элемента массива, чтобы сократить код(условие задания). Ошибка была в том, что я вместо индекса зачем-то ввёл 1 элемент массива(поэтому я его и пропустил). Ошибка была в том, что нужно было проверять элемент массива с индексом nmin, если элемент массива с индексом b меньше, то я вписываю счётчик b в элемент nmin. Затупил я не по детски короче