gpt4 book ai didi

c++ - 我正在努力寻找随机数组中的最小值,有人知道为什么我的代码不起作用吗? C++

转载 作者:行者123 更新时间:2023-11-30 04:43:36 25 4
gpt4 key购买 nike

这就是我所做的。我正在努力在随机数组中找到最小值,任何人都知道为什么我的代码不起作用?它输出最低值:0 并位于一个复数上

#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
int x,min,n;
int array[1000];
for(int i=1;i<=1000;i++)
{
x = rand()% 1000 + 1;
array[i] = x;
}
min=array[0];
for(int i=0;i<1000;i++)
{
if(array[i]<min)
{
min=array[i];
n=i;
}
}
cout<<"The Lowest Value : "<<min<<"\nIts located at { "<< n <<" }"<<endl;
cout<<" "<<endl;
return 0;
}

最佳答案

习惯总是初始化你的变量。在这种情况下,您使用 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 中,那么它将是最低的,永远不会被任何有意义的东西取代。

你很“幸运”(实际上我认为没有被告知这种错误是不幸的......)访问数组之外​​......

关于c++ - 我正在努力寻找随机数组中的最小值,有人知道为什么我的代码不起作用吗? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58177478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com