C# :: Aufgabe #101 :: Lösung #5
6 Lösungen

#101
Erstellung Pascalsches Dreieck
Anfänger - C#
von BlackBird321
- 04.06.2015 um 22:43 Uhr
Schreibe ein Programm, welches das Pascalsches Dreieckwiedergibt.
Das Programm soll die Anzahl der Reihen entgegennehmen und dementsprechend widergeben (Nur halt ohne die Punkte :o)).
Beispiel für 5 Reihen:
....1
...11
..121
.1331
14641
Das Programm soll die Anzahl der Reihen entgegennehmen und dementsprechend widergeben (Nur halt ohne die Punkte :o)).
Beispiel für 5 Reihen:
....1
...11
..121
.1331
14641
#5

von syzon (410 Punkte)
- 12.07.2015 um 00:10 Uhr

using System; using System.Collections; namespace Pascalsches_Dreieck { class Program { static void Main(string[] args) { //Einlesen einer Ganzzahl int anzahlZeilen; Console.WriteLine("Bitte die Anzahl der Reihen eingeben: "); while (!int.TryParse(Console.ReadLine(), out anzahlZeilen)) Console.WriteLine("Bitte eine Ganzzahl eingeben!"); //Erstellung + Aufbau Array ArrayList values = new ArrayList(); for (int i =0; i < anzahlZeilen; i++) { values.AddRange(reihenBerechnung(i)); } //Ausgabe int counterAnzahlZahlen = 1; int counterPositionArray = 0; for (int i = 0; i < anzahlZeilen; i++) { string Line = ""; //Leerzeichen vor Zahlenreihe for (int z = 0; z < anzahlZeilen - i; z++) { Line = Line + " "; } for (int j = 0; j < counterAnzahlZahlen; j++) { Line = Line + Convert.ToString(values[counterPositionArray]) + " "; counterPositionArray++; } Console.WriteLine(Line); counterAnzahlZahlen++; } Console.ReadLine(); } //Berechnung einer Reihe private static ArrayList reihenBerechnung(int reihe) { ArrayList eineReihe = new ArrayList(); for (int i = 0; i < reihe + 1; i++) { eineReihe.Add(BinomialkoeffizientBerechnen(reihe, i)); } return eineReihe; } //Binomialkoeffizient berechnen private static int BinomialkoeffizientBerechnen(int reihe, int spaltenindex) { if (reihe == 0 && spaltenindex == 0) { return 1; } try { return fak(reihe) / (fak(spaltenindex) * fak((reihe - spaltenindex))); } catch (Exception) { return 1; } } //Fakultät berechnen private static int fak(int zahl) { for (int i = (zahl - 1); i > 0; i--) { zahl = zahl * i; } return zahl; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1