array größte Elemente



  • Hallo!
    Kann mir einer das folgende Programm erklären? Es werden in einem array 5 Fließkommazahlen eingelesen. Am Ende wird dann die größte Zahl ausgegeben und welchen index sie hat. Also an welcher Stelle im array sie steht.
    Würd mich über eine hilfe freuen da ich nicht durchblick wie die Zahl jetz überhaupt ermittelt wird.

    #include <stdio.h>
    #pragma warning (disable:4996)

    #define ARRSIZE 5

    int main(void) {
    int i, j, k, indexGroesste[ARRSIZE];
    double feld[ARRSIZE];

    printf("Bitte geben Sie %i Fliesskommazahlen ein:\n",
    ARRSIZE);
    for (i=0; i<ARRSIZE; ++i) {
    scanf("%lf", &feld[i]);
    }

    for (i=0; i<ARRSIZE; ++i) {
    indexGroesste[i] = -1;
    }
    indexGroesste[0] = j = 0; // Hypothese
    for (i=1; i<ARRSIZE; ++i) {
    if (feld[i] == feld[indexGroesste[0]]) {
    indexGroesste[++j] = i;
    } else if (feld[i] > feld[indexGroesste[0]]) {
    indexGroesste[0] = i;
    for (k=1; k<=j; ++k) {
    indexGroesste[k] = -1;
    }
    }
    }
    printf("Die groesste Zahl %lf befindet sich an\n",
    feld[indexGroesste[0]]);
    for (i=0; i<ARRSIZE; ++i) {
    if (indexGroesste[i] == -1) break;
    printf("Index %i\n", indexGroesste[i]);
    }

    }



  • Bearbeite deinen Beitrag bitte und formatier der Code sauber mit den [cpp]-Tags.


Anmelden zum Antworten