정수 배열에서 가장 작은 요소를 가진 인덱스를 반환하려고합니다. 내가 놓친 게 있니? 정수를 넣으면 인덱스를 반환하지 않습니다.배열의 가장 작은 요소의 인덱스를 반환하십시오.
업데이트 : 배열 스택 손상에 대해 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;
}
n = array [0]이 아니어야합니까? 첫 번째 숫자를 가정 된 가장 작은 요소로 저장하려면 거기에서 비교하십시오. – Clark
@Clark이 말한 것에 덧붙여, 당신은 indexofSmallestElement의 반환 값을 버리고 그것을 표시하지 않습니다. 또한 당신의 루프는'<= size'를 사용합니다 *는 틀린 것입니다 - 당신은'
스택 손상이 있습니다 : for (int i = 0; i <= size; i ++)'. 설명을 위해'<' –