Kleinste element im Array finden



  • Hallo! Ich will das mein Prog Zahlen einliest und den kleinsten Element ausgibt, und das Prog macht das eben nicht, kann mir jemand sagen wo der Fehler ist. Danke!
    Ich bin erste mal im Forum wenn etwas nicht passt dann Sorry.

    [code]:

    #include <stdio.h>
    #define SIZE 5

    int main()
    {
    int array[SIZE];
    int i, min;

    for(i = 0; array[i] < SIZE; i++)
    {
    printf("\nGeben Sie Array[%d] ein > ", array[i]);
    scanf("%d", &array[i]);
    }

    for(i = 0; i < SIZE; i++)
    {
    if( array[i] < min )
    min = array[i];
    }
    printf("%d\n", min);
    return 0;
    }



  • int main(void)
    {
      int array[SIZE];
      int i, min;
    
      for(i = 0; array[i] < SIZE; i++) {
    //    printf("\nGeben Sie Array[%d] ein > ", array[i]); // Was steht denn da in array[i] schon drinnen?
        printf("\nGeben Sie das %d. Element ein > ", i+1); 
        scanf("%d", &(array[i]));
      }
    
      min=array[0]; // min war uninitialisiert
      for(i = 1; i < SIZE; i++) {
        if( array[i] < min ) // min sollte hier bekannt sein
          min = array[i];
      }
    
      printf("%d\n", min);
      return 0;
    }
    


  • Es gibt bereits eine Funktion namens min. Der Name der Variable ist daher unter Umständen ungünstig und könnte zu Fehlern führen.

    Ansonsten kann man die Funktion dann natürlich auch nutzen:

    for(i = 1; i < SIZE; i++) {
          m = min(m, array[i]);
      }
    


  • @DaRe
    Du wolltest wohl in Zeile 6 schreiben

    for(i = 0; i < SIZE; i++)
    


  • @icarus2:
    Oh, natürlich. Das nächste mal Copy&Paste ich n wenig genauer^^



  • @ alle

    Danke für schnelle Antwort !!!



  • fghfgh schrieb:

    Es gibt bereits eine Funktion namens min. Der Name der Variable ist daher unter Umständen ungünstig und könnte zu Fehlern führen.

    In C gibt es standardmäßig keine Funktion min.


Anmelden zum Antworten