gos*_*tag 6 c++ arrays indexing
我试图用整数数组中的最小元素返回索引.我错过了什么吗?在我将整数放入后,它不会返回索引.
更新:int main()关于数据堆栈被破坏,我得到一个错误.谢谢.我的代码如下:
#include <iostream>
#include <conio.h>
using namespace std;
int indexofSmallestElement(double array[], int size);
int main()
{
int size = 10;
double array[10];
for (int i = 0; i <= size; i++)
{
cout << "Enter an integer: " << endl;
cin >> array[i];
}
indexofSmallestElement(array, size);
}
int indexofSmallestElement(double array[], int size)
{
int index = 0;
if (size != 1)
{
int n = array[0];
for (int i = 1; i < size; i++)
{
if (array[i] < n)
{
n = array[i];
index = i;
}
}
}
return index;
}
Run Code Online (Sandbox Code Playgroud)
Nik*_*lis 14
很多人都向你展示了他们的变种indexofSmallestElement.我将包括我的解释为什么我认为它更好:
int indexofSmallestElement(double array[], int size)
{
int index = 0;
for(int i = 1; i < size; i++)
{
if(array[i] < array[index])
index = i;
}
return index;
}
Run Code Online (Sandbox Code Playgroud)
您会注意到我取消了n您用来保存到目前为止遇到的最小值的变量.我这样做是因为,根据我的经验,必须保持两个不同的事物同步可能是微妙的错误的来源.即使是在这个简单的情况下,它也是多个错误的根源,其中最重要的是你n被声明了,int但你在其中分配了类型的值double.
底线:取消n变量,只记录一件事:索引.