2016-10-28 4 views
-3

Ich versuche eine Funktion zu schreiben, um den kleinsten Wert in einem Array zu finden, aber ich kann den Fehler nicht herausfinden, den ich gemacht habe. Kann jemand einen Blick darauf werfen? Vielen Dank!!!Den kleinsten Wert in einem Array finden

Der Code wird nicht ausgeführt, weil es einen Haltepunkt gibt, und ich kann nicht sehen, wo das Problem ist.

+2

Verwenden Sie einen Debugger, um den "Haltepunkt" in Ihrem Code zu suchen. Überprüfen Sie die Werte aller beteiligten Variablen und stellen Sie sicher, dass sie gültig sind. Und * bitte * versuche ein [minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve) zu erstellen und zeig uns, wie du diese Funktion verwendest und mit welchen Werten aufrufen kannst. –

+1

' George

+0

haben Sie Stack-Trace –

Antwort

0

Hier finden Sie eine effizientere Lösung:
Finding smallest value in an array most efficiently.

Code-Snippet:

int smallest = array[0]; 
for (int i = 0; i < array_length; i++) { 
    if (array[i] < smallest) { 
     smallest = array[i]; 
    } 
} 
+1

Nicht anders als die gestellte Frage –

0

Ihre Schleife nicht auf das letzte Element des Arrays wird. Sie sollten das Minus 1 der Bedingung entfernen. Und zögern Sie nicht, den Wert der empfangenen Argumente zu testen:

void smallest(int array[], int size) 
{ 
    if (size <= 0 || !array) 
     return; 
    int smallest = array[0]; 
    for (int i = 1; i < size ; i++) 
     if (array[i] < smallest) 
      smallest = array[i]; 
    cout << smallest << '\n'; 
} 
Verwandte Themen