Ich spiele heute mit etwas Code herum (ich bin ein Anfänger). Ich habe gerade ein einfaches Programm geschrieben, um ein Dreieck zu erzeugen, in dem die Basis durch die Eingabe des Benutzers bestimmt wird. HierWie zeichne entgegengesetztes inverses Dreieck?
ist der Code:
#include "main.h"
using namespace std;
int main()
{
int triBase = 0;
cout << "Enter a base number for the triangle [1-100]: ";
cin >> triBase;
cout << endl;
while(!cin || triBase > 100 || triBase <= 0)
{
system ("clear");
cout << "Invalid input!" << endl;
cin.clear();
cin.ignore(10, '\n');
cout << "Enter a base number for the triangle [1-100]: ";
cin >> triBase;
cout << endl;
}
system ("clear");
for(int lines = 0; lines < triBase; lines++)
{
for(int rows = 0; rows <= lines; rows++)
{
cout << "* ";
}
cout << endl;
}
return 0;
}
Meine Frage ist, wie würde ich darum, das Dreieck gehen erscheinen auf der gegenüberliegenden Seite des Bildschirms in einer umgekehrten Reihenfolge? Beispiel der Benutzer 5 eintritt, würde der Bildschirm zeigen:
* *****
** ****
*** ***
**** **
***** *
Oder wenn sie eingeben 12:
* ************
** ***********
*** **********
**** *********
***** ********
****** *******
******* ******
******** *****
********* ****
********** ***
*********** **
************ *
Gibt es eine Möglichkeit zu wissen, wie Zeichen über den Bildschirm passen kann, subtrahieren die Zahl von Zeichen, die auf diese Zeile passen würden, dann fügen Sie den Unterschied in Leerzeichen hinzu, damit sie an der richtigen Stelle beginnen, so dass jede Zeile an der letzten Stelle auf dem Bildschirm endet? Vielen Dank im Voraus.
Hinweis: Fügen Sie eine konstante Anzahl von Leerzeichen in jeder Zeile Iteration (neue Zeile). Wie Sie sehen, wiederholen sich die Räume ständig. –
Danke, ich werde das versuchen. – ryanpback