C++ Bestimmung (Algorithmus)

Status
Für weitere Antworten geschlossen.

Nihiltarier

Mitglied
25 Feb. 2015
204
1.942
1.075
Hey,

ich arbeite zz. an einer Aufgabe und wollte euch zu einer Sache was fragen:

Ich muss im Prinzip ein Art "Fach" (als FACH() definiert) mit 20 Luftballons/Einheiten befüllen; 10 Speicherfächer haben zufällig viele Ballons befüllt, wenn die Funktion FACH(i) i = Speicherfach ausgeführt wird, gibt dieses Fach den kompletten Inhalt in das Ausgabefach, und dieses wird dann mit einer Zufallszahl oder angegebener Zahl wieder befüllt. VERPACKEN() soll dann ausgeführt werden, wenn das Ausgabefach 20 +2/-2 Ballons beinhaltet, diese werden dann aus den Ausgabefach entleert, und muss dann wieder mit 20 +2/-2 Ballons befüllt werden.
FACH und VERPACKEN sind von der Aufgabe vorgegeben.
Mein Problem und meine Frage:

Wie kann ich bestimmen, welche Speicherfächer ihren Inhalt abgeben müssen, damit die Gesamtzahl im Ausgabefach immer 20 +2/-2 ist, also den Inhalt den sie haben, abgeben, diese Summe bildet, in diesen Bereich?
Bedenke: Ein Fach kann nur den kompletten Inhalt abgeben den er in sich hat, ein Fach kann nicht mehrmals etwas in das Ausgabefach füllen, erst wieder wenn VERPACKEN ausgeführt worden ist.

Als Beispiel wurde halt der Inhalt von
FACH(6), FACH(7), FACH(9), FACH(3) in das Ausgabefach gegeben.
Fach 6 hatte 2, Fach 7 hat 8, Fach 9 hat 2 und Fach 3 8.
Ingesamt ergibt dies ein Additionsprodukt von 20.
Diese werden dann "VERPACKT" und abgegeben.
Wie erkennt das Programm jetzt, welche Fächer es leeren muss, damit die Summe 20 ergibt bzw. eines der nahen Ergebnisse?

Die genutzte Sprache ist C++.

Die Zufallswerte werden aus einer txt per fstream geladen und in ALGORITHM definiert und den Ausgabefächern zufällig zugewiesen, zur Information.
 
Du könntest den Mittelwert von dem Inhalt aller Fächer bestimmen, in deinem Beispiel 5. Nun überprüfst du wie viele Fächer du mit dem Durchschnitt brauchen würdest: 20/5 = 4. Nun kannst du 4 zufällige Fächer auswählen und überprüfst, ob die Summe in dem Bereich von 18 bis 22 ist, wenn nicht kannst du einfach 4 neue zufällige Fächer auswählen. Idee ist btw von @Ich05
 
Zuletzt bearbeitet:
Du könntest den Mittelwert von dem Inhalt aller Fächer bestimmen, in deinem Beispiel 5. Nun überprüfst du wie viele Fächer du mit dem Durchschnitt brauchen würdest: 20/5 = 4. Nun kannst du 4 zufällige Fächer auswählen und überprüfst, ob die Summe in dem Bereich von 18 bis 22 ist, wenn nicht kannst du einfach 4 neue zufällige Fächer auswählen. Idee ist btw von @Ich05
Hast du dan nicht ein problem wen in den fächern zufällig mal überall hohe zahlen drinn sind?? So das man egal mit welcher Kombination, immer nur 3 fächer braucht und nicht 4?
 
Status
Für weitere Antworten geschlossen.

Soziale Medien

  • X
  • TikTok

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop