Array mit 10 Indizes mit Zufallszahlen gefüllt - größte und kleinste Zahl filtern?

Understood

Grünschnabel
Guten Morgen, Community von tutorials.de.

Ich habe momentan ein Problem mit meinem Skript, dass ein Array mit 10 Indizes jeweils jedem Index eine Zufallszahl zuordnet.
Im späteren Programmverlauf soll lediglich das Programm dem Nutzer mitteilen, welche die größte, sowie die kleinste Zahl ist und dazu noch in welchem Index des Arrays diese enthalten ist.

Hier ist mein Skript:
Code:
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    int iBrch[2] = {1, 1000};
    int aValue[10];
    int iN = sizeof(aValue)/sizeof(int);
    int iIf[2] = {aValue[0],aValue[0]};
    int iIndex[2] = {0, 0};
    
    for(int f = 0; f<iN; f++)
    {
            aValue[f] = rand() % iBrch[1] + iBrch[0];
            cout << f << ". " << aValue[f] << endl;
    }
    cout << endl << endl;
    
    for(int i = 0; i<iN; i++)
    {
            
            if(iIf[0]<aValue[i])
            {
                 iIf[0] = aValue[i];
                 iIndex[0] = i;
            }
            else if(iIf[1]>aValue[i])
            {
                 iIf[1] = aValue[i];
                 iIndex[1] = i;
            }
    }
    
    cout << iIf[0] << " ist die groesste Zahl und steht im Index aValue[" << iIndex[0] << "]!\n\n"
         << iIf[1] << " ist die kleinste Zahl und steht im Index aValue[" << iIndex[1] << "]!\n\n";
    
    getch();
    return 1;
}

Hier ist die Ausgabe:
Ausgabe.png

Warum befindet sich die größte und kleinste Zahl vom Programm im Index "0", obwohl dem nicht so ist... und wieso hat die größte Zahl mehr als 6 Stellen, obwohl dem ebenso nicht der Wahrheit entspricht?

Ich bitte um Hilfe.

Mit freundlichen Grüßen,
Understood.
 
Zuletzt bearbeitet:
Hi.

Deine Initialisierung ist fehlerhaft.

In dem Array stehen noch keine (wohldefinierten) Werte, du setzt aber den min und den max Wert bereits auf den Wert der dort bei aValue[0] steht. Das darfst du erst nach der ersten Schleife tun.

Weiterhin solltest du 0 zurückgeben, wenn dein Programm fehlerfrei durchgelaufen ist, ein Return-Code != 0 signalisiert einen Fehler/Abbruch.

Außerdem solltest du den Zufallszahlengenerator initialisieren (srand), ansonsten erhälst du wahrscheinlich immer die gleichen Zahlen.
 
Zurück