Turmrechner mit for in C?
Hallo,
ich möchte einen Turmrechner in C machen.
Ich wüsste bereits, wie man diese Aufgabe mit zwei for-Schleifen löst, jedoch darf ich für diese Aufgabe nur eine for-Schleife verwenden.
Kann mir da jemand weiterhelfen?
Danke schonmal im Vorraus und LG
Cammio
3 Antworten
Wenn ich das richtig verstehe wird da erst mal aufsteigend mit der Zählvariable multipliziert und dann ebenfalls aufsteigend dividiert.
Klar dass man dann zwei FOR Schleifen hintereinander schreibt. Aber natürlich geht es auch mit einer! Diese Kunst war früher mal wichtig als man noch mit diskret aufgebauten Digitalschaltungen hantiert hatte. Da hatte dann z.B. eine Ampelschaltung einen Taktgeber mit nachgeschaltetem Binärzähler. Und von diesem Zähler waren dann alle Funktionen (Ampelphasen) abgeleitet.
Das selbe kann man hier machen, eine Schleife die doppelt so weit zählt und dann in der Schleife eine Fallunterscheidung ob Multiplikation oder Division.
Hier also wenn das von 2 bis 9 gemacht werden soll die Schleife von 2 bis 18 laufen lassen und wenn <10, dann multiplikation ELSE division machen. Bei der Division natürlich 8 abziehen damit man wieder von 2 an aufwärts dividiert wird.
Mit zwei Schleifen würdest Du wohl zuerst mit 2...9 multiplizieren, danach durch 9...2 dividieren.
Wenn Du nur eine Schleife verwenden darfst, laufe von i=2 bis 17. Falls i≤9 ist, multiplizierst Du mit i, und dahinter dividierst Du durch (19–i).
Wenn die Turmhöhe h variabel ist, laufe von i=2 bis (2*h-1) und multipliziere nur im Fall i≤h. Sonst dividiere durch (2*h+1-i).
(Blöde Aufgabe!)
Dankesehr, das hat mir wirklich weitergeholfen!
Ich weiß nicht, was ein "Turmrechner" ist.
Vielleicht magst Du einmal Dein Flussdiagramm posten, wie Du es Dir vorstellst. Dann haben wir beide etwas davon.
Korrektur:
Anscheinend wird auch im zweiten Teil durch 2...9 (aufsteigend) dividiert. Der Divisor in der Schleife ist damit (i–8), allgemein (i–h+1).