Suchen in Arrays



  • Hi
    danke für dein Beitrag, das ist es ja, bis zu Stelle wo die 9 ist ist alles ok aber dann nicht mehr, wie komme ich zu dem größtem Element, bzw. wie soll ich den ermitteln???
    danke
    mirso



  • #include <stdio.h>
    
    int main() { 
       int a[] = {1,2,33,-1,545,-43,0,2};
       int max = a[0];
    
       for(int i=1; i < sizeof(a)/sizeof(int); ++i)
          if(max < a[i])
             max = a[i];
    
      printf("max=%i\n", max);
      return 0;
    }
    


  • Hi
    danke, die sizeof() würde mir nie eingefallen!!!

    interpreter schrieb:

    #include <stdio.h>
    
    int main() { 
       int a[] = {1,2,33,-1,545,-43,0,2};
       int max = a[0];
     
       for(int i=1; i < sizeof(a)/sizeof(int); ++i)
          if(max < a[i])
             max = a[i];
    
      printf("max=%i\n", max);
      return 0;
    }
    

    Ob das auch mit für die MIN ermittlung funktionieren würde?! 😕

    ok, danke
    mfg
    mirso



  • mirso schrieb:

    Hi
    danke, die sizeof() würde mir nie eingefallen!!!

    interpreter schrieb:

    #include <stdio.h>
    
    int main() { 
       int a[] = {1,2,33,-1,545,-43,0,2};
       int max = a[0];
     
       for(int i=1; i < sizeof(a)/sizeof(int); ++i)
          if(max < a[i])
             max = a[i];
    
      printf("max=%i\n", max);
      return 0;
    }
    

    Ob das auch mit für die MIN ermittlung funktionieren würde?! 😕

    ok, danke
    mfg
    mirso

    Du hast offensichtlich die Funktionweise noch nicht verstanden. Schau dir in Ruhe nochmal den Algorithmus an, dann wirst du mehr lernen, als wenn ich dir jetzt einfach die Lösung hinklatsche. Tipp: Du musst für die Ermittlung des kleinsten Wertes nur 1 Zeichen im Sourcecode ändern. 🙂



  • Hi!

    als wenn ich dir jetzt einfach die Lösung hinklatsche.

    EDIT: Lösung entfernt *interpreter recht geb*

    Code-Hacker



  • 😡



  • Hi!

    Guck nochmal, vielleicht hat er es ja noch nicht gesehen 😃

    Code-Hacker



  • Code-Hacker schrieb:

    Hi!

    Guck nochmal, vielleicht hat er es ja noch nicht gesehen 😃

    Code-Hacker

    😃 🤡



  • interpreter schrieb:

    sizeof(a)/sizeof(int)
    

    Das ist nicht schön. Schreib lieber

    sizeof(a) / sizeof(a[0])
    

    Das funktioniert auch, wenn irgendwann mal aus dem int Array ein double Array wird oder was auch immer.



  • Hallo Leute
    danke für eure Beiträge, das ist mehr als ich gehofft habe ;-), ich habs auch irgend wie geschafft, aber das hier ist deutlich besser! 👍 , vor allem das hier:

    int a[] = {1,2,33,-1,545,-43,0,2};
    int max = a[0]; // der max ein arraywert zu zuweisen!
    

    Mein Fehler das ich max ein statischen wert gegeben habe! Und darum habe ich hier gepostet! 🤡

    int a[] = {1,2,33,-1,545,-43,0,2};
    int max = 0; // Nicht gut!!!! Minuswerte nicht erreichbar!
    

    Danke euch 👍
    mirso



  • mirso schrieb:

    Hallo Leute
    danke für eure Beiträge, das ist mehr als ich gehofft habe ;-), ich habs auch irgend wie geschafft, aber das hier ist deutlich besser! 👍 , vor allem das hier:

    int a[] = {1,2,33,-1,545,-43,0,2};
    int max = a[0]; // der max ein arraywert zu zuweisen!
    

    Mein Fehler das ich max ein statischen wert gegeben habe! Und darum habe ich hier gepostet! 🤡

    int a[] = {1,2,33,-1,545,-43,0,2};
    int max = 0; // Nicht gut!!!! Minuswerte nicht erreichbar!
    

    Danke euch 👍
    mirso

    Nach deiner Auffassung dürfte das hier auch nicht gut sein:

    int a[] = {0,1,2,33,-1,545,-43,2};
    int max = a[0]; // der max ein arraywert zu zuweisen!
    

    Ergo, das Problem war ein anderes.


Anmelden zum Antworten