Venciity

[ Telerik C#] MultidimArrays-Demos 5. PascalTriangle

Feb 26th, 2014
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.29 KB | None | 0 0
  1. using System;
  2.  
  3. public class PascalTriangle
  4. {
  5.     private int height;
  6.     private long[][] triangle;
  7.  
  8.     public PascalTriangle(int height)
  9.     {
  10.         this.height = height;
  11.  
  12.         // Allocate the array in a triangle form
  13.         triangle = new long[height + 1][];
  14.  
  15.         for (int row = 0; row <= height; row++)
  16.         {
  17.             triangle[row] = new long[row + 1];
  18.         }
  19.     }
  20.  
  21.     public void PrintTriangle()
  22.     {
  23.         for (int row = 0; row <= height; row++)
  24.         {
  25.             Console.Write("".PadLeft((height - row) * 2));
  26.             for (int col = 0; col <= row; col++)
  27.             {
  28.                 Console.Write("{0,3} ", triangle[row][col]);
  29.             }
  30.             Console.WriteLine();
  31.         }
  32.     }
  33.  
  34.     public void CalculateTriangle()
  35.     {
  36.         triangle[0][0] = 1;
  37.  
  38.         for (int row = 0; row < height; row++)
  39.         {
  40.             for (int col = 0; col <= row; col++)
  41.             {
  42.                 triangle[row + 1][col] += triangle[row][col];
  43.                 triangle[row + 1][col + 1] += triangle[row][col];
  44.             }
  45.         }
  46.     }
  47.  
  48.     static void Main()
  49.     {
  50.         PascalTriangle pascalTriangle = new PascalTriangle(10);
  51.         pascalTriangle.CalculateTriangle();
  52.         pascalTriangle.PrintTriangle();
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment