Ich versuche, das Martini-Glas-Muster mit C# zu drucken. Das Muster ist wie folgt:Wie würde ich Martini-Glas-Muster in C# optimal drucken
für Eingang = 4;
0000000
00000
000
0
|
|
|
|
=======
für Eingang = 5;
000000000
0000000
00000
000
0
|
|
|
|
|
=========
Ich bin in der Lage, bis Dreieck zu erhalten (0en) .Allerdings, ich versagen, den Hals zu bekommen (|) und am Boden (=).
Mein Code sieht wie folgt aus:
const int height = 4;
for (int row = 0; row < height; row++)
{
//left padding
for (int col = 0; col < row; col++)
{
Console.Write(' ');
}
for (int col = 0; col < (height - row) * 2 - 1; col++)
{
Console.Write('0');
}
//right padding
for (int col = 0; col < row; col++)
{
Console.Write(' ');
}
Console.WriteLine();
}
for(int i = 1; i < height; i++)
{
Console.Write('|');
}
Console.ReadKey();
Und es druckt wie folgt aus:
0000000
00000
000
0
|||
jemand kann mir helfen, den Hals und den Boden in der Weiterverarbeitung? Und ist mein Code auch optimal? Sie können den gesamten Code für die Optimierung bearbeiten.
Vielen Dank im Voraus.
Editiert: -Code hinzugefügt, um Hals und unten:
for (int i = 1; i <= height; i++)
{
// Left padding
for (int j = 1; j < height; j++)
{
Console.Write(' ');
}
Console.WriteLine('|');
}
for (int row = 0; row < height; row++)
{
for (int col = 0; col < row; col++)
{
Console.Write('=');
}
}
Console.ReadKey();
Mit diesem Code schreiben zu vermeiden, kann ich den Halsteil richtig zu bekommen, aber der Boden ist leicht linksseitig. Ich denke, es sollte ein bisschen rechts seitig sein. Bitte sehen Sie den bearbeiteten Teil in meiner Frage – Santosh
Aus diesen zwei Lösungen, die optimal sind? – Santosh
Sie benötigen keine verschachtelte Schleife für den unteren Teil. Nur ich Schleife sollte genug sein. Siehe meine Bearbeitung. –