Friday 4 July 2014

C# array exercise: Pascal triangle

Exercise: By using two-dimensional array of C# language, write C# program to display a table that represents a Pascal triangle of any size. In Pascal triangle, the first and the second rows are set to 1. Each element of the triangle (from the third row downward) is the sum of the element directly above it and the element to the left of the element directly above it. See the example Pascal triangle(size=5) below:

1
1
1
1
2
1
1
3
3
1
1
4
6
4
1

Solution:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace ConsoleApplication1
{
   
    class Program
    {

        static void Main(string[] args)
        {

            int size;
            Console.Write("Pascal triangle size:");
            size = Int32.Parse(Console.ReadLine());
            printPascalTr(size);
            Console.ReadLine();

        }

        public static void printPascalTr(int size){
         int[,] PascalTr=new int[size,size];
         int row,col;
         //assign zero to every array element
         for(row=0;row<size;row++)
            for(col=0;col<size;col++)  PascalTr[row,col]=0;
         //first and second rows are set to 1s  
         PascalTr[0,0]=1;
         PascalTr[1,0]=1;
         PascalTr[1,1]=1;
        
         for(row=2;row<size;row++){
              PascalTr[row,0]=1;
              for(col=1;col<=row;col++){
                        PascalTr[row,col]=PascalTr[row-1,col-1]+PascalTr[row-1,col];
                                        }
                            }
          //display the Pascal Triangle
          for(row=0;row<size;row++){
            for(col=0;col<=row;col++){               
                   Console.Write("{0}\t",PascalTr[row,col]);
                   }
            Console.WriteLine();   
            }
        
         }
     }

} 



No comments:

Post a Comment