PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit einem C++-Programm


EinlieberGast
2004-11-02, 18:19:53
Hi, also die Aufgabe ist dieser:

Lösen Sie folgende Aufgabe durch Ausprobieren aller Möglichkeiten:
Auf einer Waage stehen eine Anzahl von Ziegen, Schweinen und Kühen.
Eine Ziege wiege 35 kg, ein Schwein 90 kg und eine Kuh 280 kg.
Geben Sie das Gesamtgewicht in den Rechner ein. Bestimmen Sie, wie viele Ziegen, Schweine und Kühe auf der Waage stehen. Bedenken Sie: Die Tiere leben noch, d. h. es gibt keine halben Tiere! Abhängig von der Eingabe gibt es evtl. mehrere Lösungen, geben Sie alle Lösungen aus.
Erstellen Sie einen Testplan. Tipp: Leiten Sie von der Ausgabe (d. h. der Anzahl der Einzeltiere) die Eingabe (d. h. das Gesamtgewicht) ab.
Beispieldaten: 10 Ziegen, 10 Schweine und 10 Kühe wiegen insgesamt 4050 kg.

Der Pseudocode von mir würde sich so anhören.

Nehme die 4050kg, subtrahiere Ziege, Schwein und Kuh auf seperaten Wegen. Diese werden dann wieder mit den 3en subtrahiert. Dabei wird es einen Zähler geben, der die Anzahl von Kuh, Schwein und Ziege hochzählt. Am Ende gibt es bei jedem Ausgang einen Abfrage, ob immer exakt null rauskommt. Falls ja, dann soll es die Anzahl herausgeben.

Tja, aber wie programmiere ich es. Zumal ich nur einfache Schleifen verwenden darf. Klassen etc. darf nicht verwendet werden.

Ich sitze nun seit einer Stunde, aber ich schaffe es nicht, den Pseudocode in einen echten Code umzuwandeln. Und eine andere Art von Abfrage fällt mir nicht ein.

Kann da jemand ein Tipp geben?

Wäre dafür sehr dankbar.:)

Xmas
2004-11-02, 19:01:12
Pseudocode:

gesamtgewicht = Eingabe("Gesamtgewicht?");
for(kuehe = 0; kuehe * 280 <= gesamtgewicht; ++kuehe)
{
for(schweine = 0; kuehe * 280 + schweine * 90 <= gesamtgewicht; ++schweine)
{
restgewicht = gesamtgewicht - kuehe * 280 - schweine * 90;
if(restgewicht % 35 == 0)
{
ziegen = restgewicht / 35;
Ausgabe("Kombination gefunden: " + kuehe + " Kühe, " + schweine + " Schweine, " + ziegen + " Ziegen.");
}
}
}

Gast
2004-11-02, 19:43:50
größten Dank Xmas.:up::)