Привыкайте всегда инициализировать ваши переменные. В этом случае вы используете n
до того, как оно будет написано в первый раз.
int x=1,min=1001,n=0;
Также прислушайтесь к подсказке seccpur (в качестве альтернативы моей) из комментариев.
Опять моя, для полного ответа:
Привыкайте for(int i=0;i<arraysize;i++)
в C ++. В противном случае вы всегда будете отключаться при индексировании 0.
for(int i=0;i<1000;i++)
Обе проблемы вместе приводят к проблеме вывода странного индекса (из неинициализированного n
) и неправдоподобного значения 0 (из неинициализированногоarray[0]
).
При вашем способе случайных чисел 0 невозможно, но если оно окажется в индексе 0, то оно будет самым низким из всех и никогда не будет заменено чем-либо незначительным.
Вам повезло (на самом деле я считаю, что мне не повезло, что мне не сообщили об ошибке такого рода ...) с доступом за пределы массива ...