C# :: Aufgabe #345

4 Lösungen Lösungen öffentlich

Zahlenpyramide (Reihenausgabe)

Anfänger - C# von JKooP - 23.11.2020 um 16:23 Uhr
Es soll per Funktion/Methode eine Zahlenpyramide (siehe jpg) mit den Ziffern 0-9 und der Höhe 10 erstellt werden.

Dies soll bewerkstelligt werden durch:

Aufgabe 1: (leicht)
mehrerer ineinander verschachtelter Schleifen,

Aufgabe 2: (schwieriger)
nur eine Schleife.

Viel Spaß

Lösungen:

vote_ok
von osternachten (100 Punkte) - 09.12.2020 um 10:48 Uhr
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.

Quellcode ausblenden C#-Code
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);
            }
        }
vote_ok
von JKooP (18090 Punkte) - 12.02.2021 um 07:35 Uhr
NET 5.x; C# 9.x
Quellcode ausblenden 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);
}
vote_ok
von JakS (230 Punkte) - 08.03.2021 um 12:37 Uhr
Quellcode ausblenden C#-Code
        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;
        }
vote_ok
von JchrisP (60 Punkte) - 14.07.2021 um 14:30 Uhr
Quellcode ausblenden C#-Code
        
        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();
        }
2108389

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.