می خواهیم برنامه ای به زبان C بنویسیم که اعداد زیر را به کمک یک ماتریس تا 10 سطر ساخته و چاپ کند :
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 .. .. .. ..
این مثلث اعداد را مثلث خیام نیوتن میگویند. اگر ماتریسی را به این شکل در نظر بگیریم :
1 .. .. .. .. ..
1 1 .. .. .. ..
1 2 1 .. .. ..
1 3 3 1 .. ..
1 4 6 4 1 ..
.. .. .. .. .. ..
میتوان گفت هر درایۀ ماتریس پایین مثلثی از جمع دو درایۀ بالا و بالا سمت چپ خود درست شده است یعنی :
a i,j = a i-1, j + a i-1, j-1
void main()
{
int a[10][10], i, j;
for(i=0;i<10;i++) // ابتدا ستون اول و قطر اصلی را برابر یک قرار میدهیم
{
a[i][0]= 1;
a[i][i] = 1;
}
for(i=2;i<10;i++) //باقی خانه ها را به شکل یاد شده محاسبه میکنیم
for(j=1; j a[i][j] = a[i][j-1] + a[i-1][j-1];
for(i=0;i<10;i++) //چاپ ماتریس پایین مثلثی
{
for(j=0; j<9-i; j++) // چاپ فضای خالی قبل از اعداد برای ساختن شکل مورد نظر
cout<< " ";
for(j=0; j<=i; j++) // چاپ درایه های ماتریس
cout << a[i][j];
}
}