Arne: [SUCHE] Algorithmus zum sortieren von Zahlen

Hallo,
ich habe ein Problem, ich suche einen Algorithmus der 3 Zufallszahlen mit den 4 Rechenoperatoren (+,-,*,/) verknüpft und alle möglichen Ergebnisse davon in ein Array schreibt.
Optimal wäre wenn der kleinst Wert noch ausgegeben wird.

Ich habe keine Ahnung wie ich das angehen soll. Wäre für jede Hilfe dankbar. Am liebsten ein Codebeispiel damit ich das nachvollziehen kann.
Danke !!

Arne

  1. Sup!

    *SCNR*

    Gruesse,

    Bio

    --
    Und er laechelt, denn er weiss: Das Boese siegt immer!
    1. Welch qualifizierter Kommentar.
      Selbst wenn es eine Hausaufgabe wäre (was es nicht ist, da ich mein Programm zwecks Benotung heute schon abgeben musste), nerven solche dummen Sprüche!
      Freu dich doch einfach wenn jemand eine Lösung weiß und versuch dir daran Inspiration für deine eigenen Zwecke zu holen ...

      1. Sup!

        Welch qualifizierter Kommentar.

        Och, Deine Frage ist auch nicht sehr qualifiziert.
        Es wuerde z.B. relativ viel nutzen, wenn man wuesste, aus welchem Interval die Zufallszahlen kommen [0-1, -2Mrd - +Mrd.]?

        Selbst wenn es eine Hausaufgabe wäre (was es nicht ist, da ich mein Programm zwecks Benotung heute schon abgeben musste), nerven solche dummen Sprüche!

        Jaja...

        Du hast also 3 Zahlen, da passen also jeweils 2 Operatoren dazwischen. Du hast aber 4 Operatoren. Wenn Du aus den Operatoren mit Zuruecklegen aussuchen darfst, dann gibt es ziemlich genau 4^2 Moeglichkeiten:

        ++ +- +* +/
        -+ -- -* -/
        *+ *- ** */
        /+ /- /* //

        Du hast also zwei Schleifen mit vier Durchlaeufen, Du hast 16 Ergebnisse, waehrend der Rechnung merkst Du Dir jeweils das Minimum und Maximum und fertig. Wo ist das Problem?

        Gruesse,

        Bio

        --
        Und er laechelt, denn er weiss: Das Boese siegt immer!
        1. yo bio, du warst schneller :-) deine antwort muesste
          arne ausreichen, wobei die fragestellung wirklich alles
          andere als eindeutig war. gruss, michael

          ss:) zu:) ls:& fo:) de:> va:) ch:? n4:& rl:? br:< js:| ie:% fl:{ mo:|

  2. hallo arne,

    also drei werte und zwei operatoren, oder?
    wert1 op1 wert2 op2 wert3 = ergebnis
    bsp: 15 x 4 / 12 = ???
    die werte sind ganze zahlen, duerfen mehrfach vorkommen?
    die operatoren duerfen mehrfach vorkommen? der kleinste
    wert ist auf jeden fall null, oder?
    gruss, michael

    --
    ss:) zu:) ls:& fo:) de:> va:) ch:? n4:& rl:? br:< js:| ie:% fl:{ mo:|
    1. hallo,
      ja die variablen sind alle ganzzahlig, jede variable darf nur einmal verwendet werden (was natürlich nicht heißt, dass zwei variablen nicht den selben wert haben können).
      in einer rechnung kommen 2 operatoren vor, genau wie in deinem bsp.

      es können auch negative zahlen als ergebniss rauskommen.

      gruß
      arne

      1. Hallo arne,

        ja die variablen sind alle ganzzahlig, jede variable darf nur einmal verwendet werden (was natürlich nicht heißt, dass zwei variablen nicht den selben wert haben können).

        Generiere Zufallszahl 1
        Generiere Zufallszahl 2
        Generiere Zufallszahl 3
        Berechne alle Kombinationen und speichere Sie in dem Array ab

        Um das kleinste Ergebnis zu bekommen, musst Du noch nicht einmal sortieren:

        merker = erster Arrayeintrag
        Solange noch Einträge vorhanden sind
            vergleicher = nächster Eintrag
            wenn vergleicher < merker
                merker = vergleicher
            ende wenn
        ende solange

        Sollte einfach in jeder beliebigen Programmiersprache mit Zufallszahlerzeugung, arithmetischen Operationen, Arrays, Schleifen und bedingter Ausführung umzusetzen sein :-)

        Freundliche Grüsse,

        Vinzenz

        1. Hallo Vinzenz
          vielen Danke erstmal.

          Die Frage dich ich mit gerade stelle ich wie genau ich das Ergebniss von alles Kombinationen ermittel kann. Ich kann die 4 Operatoren benutzen, brauche pro Rechnung aber nur 2. Und jede der Zufallszahlen kann an jede Position in der Rechnung gestellt werden.

          Müssten dann also 4^2 * 3! Möglichkeiten geben. Sollten 96 sein wenn ich mich nicht verrechnet habe.

          Bekomme das mit einer for-Schleife irgendwie nicht hin-

          Gruß
          Arne

          1. Hallo Arne ,

            Die Frage dich ich mit gerade stelle ich wie genau ich das Ergebniss von alles Kombinationen ermittel kann. Ich kann die 4 Operatoren benutzen, brauche pro Rechnung aber nur 2. Und jede der Zufallszahlen kann an jede Position in der Rechnung gestellt werden.

            Die Kombinationen der Operatoren hat Dir doch Bio bereits aufgezählt,
            die 6 Permutationen Deiner Zufallszahlen sollten auch nicht so schwer
            zu ermitteln sein. Schreib' diese doch in ein zweidimensionales Array,
            falls es in Java sowas gibt und schicke eine Permutation nach der anderen
            durch die Kombinationen.

            Selbstverständlich kannst Du das Minimum, wie von Bio empfohlen, Dir
            gleich merken. Ich persönlich ziehe es vor, dies einer speziellen
            Funktion der Art

            ermittle_minimum()

            zu überlassen, der man ein Array übergibt und die das Minimum des Arrays
            zurückliefert.

            Müssten dann also 4^2 * 3! Möglichkeiten geben. Sollten 96 sein wenn ich mich nicht verrechnet habe.

            Falls Java sowas wie eval() von JavaScript oder PHP hat, könntest Du Dir
            die Kombinationen durch eine doppelt geschachtelte for-Schleife erzeugen.

            Ich habe aber von Java keine Ahnung :)

            Freundliche Grüsse,

            Vinzenz