Ich versuche, den Index mit dem kleinsten Element in einem Array von ganzen Zahlen zurückzugeben. Fehle ich etwas? Nachdem ich meine Ganzzahlen eingegeben habe, wird der Index nicht zurückgegeben.Return-Index des kleinsten Elements im Array
UPDATE: Ich bekomme einen Fehler am Ende von int main()
über den Array-Stack, der beschädigt ist. Vielen Dank. Mein Code ist wie folgt:
#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;
}
Sollte es nicht n = Array [0] sein, nicht umgekehrt? Da Sie die erste Zahl als Ihr angenommenes kleinstes Element speichern möchten, vergleichen Sie von dort aus. – Clark
Zusätzlich zu dem, was @ Clark gesagt hat, beachten Sie auch, dass Sie den Rückgabewert von indexofSmallesElement verwerfen und nicht anzeigen. Beachten Sie auch, dass Ihre Schleifen '<= Größe 'verwenden, was * falsch ist * - Sie sollten'
Hier ist Ihr Stack Korruption: 'für (int i = 0; i <= Größe; i ++)'. Sollte '< –