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(); }