Я сделал программу для создания треугольника Паскаля и для ввода чисел (строк)> 5, есть проблема с выравниванием, т.е. для ncr> 10. Помогите мне, пожалуйста. Я включил изображения для вывода программы.
#include<stdio.h>
int factorial(int number)
{
int fact=1;
for(int i=1; i<=number; ++i )
{
fact*=i;
}
return fact;
}
int ncr(int n, int r)
{
int ncr;
int fact1=factorial(n);
int fact2=factorial(n-r);
int fact3=factorial(r);
ncr = fact1 /(fact2 * fact3);
return ncr;
}
int main()
{
int rows;
printf("enter the number of rows :\n");
scanf("%d",&rows);
for(int n=0; n<rows; n++)
{
for(int i=1; i<=rows-n; i++)
{
printf(" ");
}
for(int r=0; r<=n; r++)
{
printf("%d ",ncr(n,r));
}
printf("\n");
}
return 0;
}
printf
(например, шириной поля и выравниванием). - person Some programmer dude   schedule 25.10.2016ncr
функция может легко переполниться входными значениями ›10. - person mch   schedule 25.10.2016