C# :: Aufgabe #345
4 Lösungen
Zahlenpyramide (Reihenausgabe)
Anfänger - C#
von JKooP
- 23.11.2020 um 16:23 Uhr
Lösungen:
Da das Ziel lustigerweise klar definiert ist und nicht über 0-9 sich erhöht habe ich mir gedacht ich mach das mal so :´)
Ist natürlich nicht die perfekte Lösung mit der For Schleife aber ein lustiger Ansatz ist es.
C#-Code
Ist natürlich nicht die perfekte Lösung mit der For Schleife aber ein lustiger Ansatz ist es.
private static void BuildPyramide()
{
for (int i = 0; i < 10; i++)
{
string mitte = "0";
string ausgabe = "";
string resultat = "";
string leertasten = "";
switch (i)
{
case 0:
leertasten = " ";
break;
case 1:
leertasten = " ";
ausgabe = "1";
break;
case 2:
leertasten = " ";
ausgabe = "12";
break;
case 3:
leertasten = " ";
ausgabe = "123";
break;
case 4:
leertasten = " ";
ausgabe = "1234";
break;
case 5:
leertasten = " ";
ausgabe = "12345";
break;
case 6:
leertasten = " ";
ausgabe = "123456";
break;
case 7:
leertasten = " ";
ausgabe = "1234567";
break;
case 8:
leertasten = " ";
ausgabe = "12345678";
break;
case 9:
ausgabe = "123456789";
break;
default:
break;
}
resultat = $"{leertasten}{String.Join("", ausgabe.Reverse())}{mitte}{ausgabe}";
Console.WriteLine(resultat);
}
}
NET 5.x; C# 9.x
C#-Code
using static System.Console;
const int Height = 10;
var i = "0";
for (int k = 0; k < Height; k++)
{
if (k > 0) i = k + i + k;
WriteLine(new string(' ', Height - 1 - k) + i);
}
private static string GetZahlenPyramide(int maxReihen)
{
int i = 1;
string m = "0";
string s = string.Empty.PadLeft(maxReihen - 1, ' ');
string pyramide = s + m + s + "\n";
while (i < maxReihen)
{
s = s[0..^1];
m = i.ToString() + m + i.ToString();
pyramide += s + m + s + "\n";
i++;
}
return pyramide;
}
static string str1;
static string str2;
static void Main(string[] args)
{
Console.WriteLine(string.Concat(Enumerable.Repeat(" ",9)) + "0");
for(int i =0; i < 9; i++)
{
str1 = string.Concat((i+1).ToString() + str1);
str2 = string.Concat(str2 + (i+1).ToString());
string leer = string.Concat(Enumerable.Repeat(" ",8-i));
Console.WriteLine(leer + str1 + "0" + str2);
}
Console.ReadKey();
}
