im Array den größten Wert finden



  • Ist es möglich in einem Array den größten wert zu finden und mir den Platz des Größten wert anzuzeigen? Und das bei einem 2D Array?
    Welche Anweisungen müsste ich benutzen



  • Klar ist das möglich. Warum nicht einfach in einer Schleife die Werte vergleichen und den größten rausschreiben, und gleichzeitig kannste den Counter des Schleifenkopfes rausschreiben, dann weißte doch an welcher Stelle es war.



  • Hallo

    - Schleife
    - if Anweisung

    chrische



  • Du kannst ein 2D-Array als ein 1D-Array auffassen, in dem die einzelnen Zeilen hintereinander in das Array geschrieben wurden. Dann geht das finden des Maximums genauso, wie im 1-Dimensionalen-Fall.



  • Danke für die Schnelle Antworte. Stecke nicht so sehr wie ihr in der Materie,
    könntet ihr mir viellecht eine kleine beschreibung geben wie am besten das geht?



  • Hallo

    Du gehst miitels einer for-Schleife durch alle Elemente deines arrays. Du hast eine Varibale für den höchsten Wert, die du anfangs auf den kleinsten möglichen Wert stellst. Nun überprüfst du bei jedem Schleifendurchlauf, ob das derzeitige Element im array größer ist als die Varibale udn setzt diese auf den neuen Wert, wenn es so ist. Am Ende steht in der Variable der höchste Wert im array. Das ist hier übrigens das falsche Subforum...

    chrische



  • In C++ kannst du auch die Funktion max_element aus der Standardbiliothek benutzen, die im Header algorithm definiert ist.



  • chrische5 schrieb:

    Hallo

    Du gehst miitels einer for-Schleife durch alle Elemente deines arrays. Du hast eine Varibale für den höchsten Wert, die du anfangs auf den kleinsten möglichen Wert stellst. Nun überprüfst du bei jedem Schleifendurchlauf, ob das derzeitige Element im array größer ist als die Varibale udn setzt diese auf den neuen Wert, wenn es so ist. Am Ende steht in der Variable der höchste Wert im array. Das ist hier übrigens das falsche Subforum...

    chrische

    Wenn ich aber jetzt nicht wüsste welchen Größten wert ich habe, wie sollte ich es dann machen?

    Beim max_element wird mir doch nur der Größte Wert geliefert, wie bestimme ich denn den Platz vom größten wert in diesem Fall?



  • Lutz1 schrieb:

    Wenn ich aber jetzt nicht wüsste welchen Größten wert ich habe, wie sollte ich es dann machen?

    Indem du dir in einer zusätzlichen Variablen merkst, wo du den Wert gefunden hast.

    Lutz1 schrieb:

    Beim max_element wird mir doch nur der Größte Wert geliefert

    Nein, max_element liefert dir einen Iterator.



  • MFK schrieb:

    Lutz1 schrieb:

    Beim max_element wird mir doch nur der Größte Wert geliefert

    Nein, max_element liefert dir einen Iterator.

    Bei einem Random-Acces Container (z.B. ein Array) sollte dir positions_iterator - begin_iterator die Position liefern.



  • Hallo

    Lutz1 schrieb:

    Wenn ich aber jetzt nicht wüsste welchen Größten wert ich habe, wie sollte ich es dann machen?

    Beim max_element wird mir doch nur der Größte Wert geliefert, wie bestimme ich denn den Platz vom größten wert in diesem Fall?

    Du solltest nun langsam anfangen selber zu denken und nicht mehr nur warten, dass dir eine fertige Lösung gezeigt wird.

    chrische



  • chrische5 schrieb:

    Hallo

    Lutz1 schrieb:

    Wenn ich aber jetzt nicht wüsste welchen Größten wert ich habe, wie sollte ich es dann machen?

    Beim max_element wird mir doch nur der Größte Wert geliefert, wie bestimme ich denn den Platz vom größten wert in diesem Fall?

    Du solltest nun langsam anfangen selber zu denken und nicht mehr nur warten, dass dir eine fertige Lösung gezeigt wird.

    chrische

    Momentan hab ich nicht die möglichkeit das an meinem programm umzusetzen,erst in paar std. Und wenn man sich gedanken macht und trotz dessen fragen einfallen, kann man sie doch stellen. Leider ist nicht jeder so ein schlauer programmierer wie du!



  • Hallo

    Ich bin nicht schlauer als der Durchschnitt, aber wenn du innerhalb von 30 Minuten (gefühlt) 5 Fragen (gefühlt) stellst, dann frage ich mich langsam, wann du anfängst selber mal was zu machen.

    chrische



  • chrische5 schrieb:

    Hallo

    Ich bin nicht schlauer als der Durchschnitt, aber wenn du innerhalb von 30 Minuten (gefühlt) 5 Fragen (gefühlt) stellst, dann frage ich mich langsam, wann du anfängst selber mal was zu machen.

    chrische

    erst dann wenn arbeitsende ist! So lang hab ich ja noch die möglichkeit gedanken zumachen, mir fehlen halt die meisten Grundinformationen die du hast!!



  • Hallo

    Das war auch wirklich eher weniger böse als vielmehr lehrend gemeint. Wenn du es selber machst, lernst du vielmehr als wenn dir hier jemand einfach mal so sagt, wie es geht.

    chrische



  • Ok, weiss auch was du meinst.

    Wenn man etwas zum anfassen hat dann weiss man auch was gemeint ist.
    jeder hat eine andere Idee, die vielleicht zu dem selbsen ergebniss führt aber wie gesagt eine andere idee und da muss man zuerst durch blicken...und dann erst benötigt man halt einen bsp. das nicht direkt die lösung sein muss, was bestimmt niemand erwartet. Es gibs ja nicht umsonst die ganzen tutorias mit den Bsp. leider ist mein Problem nicht dabei...



  • Es gibs ja nicht umsonst die ganzen tutorias mit den Bsp. leider ist mein Problem nicht dabei...

    Ist ja auch nicht so, dass es ein Katalog mit Problemen gibt und man da nach den Lösungen schauen kann.

    Aber die Intelligenz und Kreativität machts möglich selbst auf Lösungen zu kommen.
    Simon



  • simon.gysi schrieb:

    Es gibs ja nicht umsonst die ganzen tutorias mit den Bsp. leider ist mein Problem nicht dabei...

    Ist ja auch nicht so, dass es ein Katalog mit Problemen gibt und man da nach den Lösungen schauen kann.

    Aber die Intelligenz und Kreativität machts möglich selbst auf Lösungen zu kommen.
    Simon

    danke war sehr hilfreich von dir Simon!!



  • simon.gysi schrieb:

    Ist ja auch nicht so, dass es ein Katalog mit Problemen gibt und man da nach den Lösungen schauen kann.

    Naja... sagen wir mal so. Nicht für alle Probleme, aber für einen großen Teil der Probleme, gibt es das doch.

    Zum Beispiel "Introduction to Algorithms" von Cormen. Das ist aber alles andere als eine Einsteigerlektüre, man muss schon wissen, wie man Programmiert, bevor man sich daran wagt.
    Introduction To Algorithms | ISBN: 9780262032933

    simon.gysi schrieb:

    Aber die Intelligenz und Kreativität machts möglich selbst auf Lösungen zu kommen.

    Das gilt natürlich immer. Die meisten Sachen, sind recht schnell selbst überlegt. Wenn es dann zu langsam ist, dann kann man z.B. in einem Algorithmen-Buch nachschlagen, ob jemand was schnelleres gefunden hat.


Log in to reply