C ++: Zeichen anzeigen

8

Ich lerne und verbessere meine Programmierfähigkeiten aus "Think Like a programmer" Buch und ich wurde gebeten, diese Art von Pyramide zu zeigen.

%Vor%

Ich habe es mit diesem Code gemacht

%Vor%

Aber ... die Fragen lauteten " Die gleiche Regel verwenden wie die Formenprogramme von früher im Kapitel (nur zwei Ausgabeanweisungen - eine, die die Hash-Markierung ausgibt, und eine, die Ausgaben ausgibt ein Zeilenende), schreiben Sie ein Programm, das die folgende Form erzeugt: "

Ich bin mir nicht sicher, aber ist es möglich, so etwas mit nur 2 Anweisungen und ohne Leerzeichen anzuzeigen?

bearbeiten.

Danke für die Antwort Jungs. Aber laut Autor sollte ich das nur mit cout << '#' und cout << '\n' machen. Und hier ist mein Punkt, denn es scheint, dass die Manipulation mit einigen Methoden oder Funktionen keine Option ist.

Schreiben Sie ein Programm, das nur zwei Ausgabeanweisungen verwendet, cout & lt; & lt; "#" und cout & lt; & lt; "\ n", um ein Muster von Hash-Symbolen in der Form eines ... zu erzeugen. Natürlich mit Verwendung von Schleifen: P

    
ashur 14.05.2013, 22:28
quelle

4 Antworten

5

Leider ist die Antwort auf diese Frage viel einfacher: Autor Fehler. Diese ersten Fragen sollten so formuliert sein, dass sie auch die Ausgabe eines einzelnen Raums ermöglichen (cout & lt; & lt; "); Ich weiß nicht, wie wir das bei der Bearbeitung verpasst haben, und ich entschuldige mich für die Verwirrung, die das verursacht hat. Im Allgemeinen wird jede Übung, die den Leser zum "Graben" zwingen soll, in diesem Punkt klar sein.

Übrigens, dieses und andere Probleme aus der ersten Ausgabe werden in dem Dokument besprochen, das auf meiner Website zu finden ist hier . Wenn Sie weitere Fragen oder Probleme mit dem Buch haben, kontaktieren Sie mich bitte.

    
V Anton Spraul 24.05.2013, 02:18
quelle
10
%Vor%     
paddy 14.05.2013 22:39
quelle
0

Sie können die Position in einer Schleife für jede Zeile überprüfen. Dies könnte zusammen mit einem Operandenoperator von 3 dies mit zwei Ausgabeanweisungen lösen.

%Vor%

Leading-Space-Zeichen sind sowieso vorhanden. Sie können keinen "leeren" Platz anstelle von ihnen erstellen.

    
gkovacs90 14.05.2013 22:45
quelle
0

Ich weiß nicht, ob es um die "Kunst" geht, cout << ' ' nicht zu verwenden, aber in diesem Fall gibt es eine andere saubere Lösung:

%Vor%

Und eine andere, noch obskurere Version, die die ASCII-Darstellung verwendet, anstatt ' ' explizit zu schreiben, indem nur eine for-Schleife verwendet wird:

%Vor%

Ich sage nicht, dass das eine gute Programmierpraxis ist, aber vielleicht hilft es jemandem, wenn er wieder realisiert, dass es am Ende alle Zahlen und Register sind.

    
Anne van Rossum 23.05.2013 16:25
quelle

Tags und Links