Заменить каждое четное число в треугольнике Паскаля звездочкой?

Я пытаюсь заменить каждое четное число в треугольнике Паскаля звездочкой (*). Пока что мой код выглядит так:

#include<stdio.h>
#include<stdlib.h>
long calc( int );
int main()
{
 int i,j,row,pas;
 printf("Enter no. of rows in pascal triangle : ");
 scanf("%d", &row);
 for(i=0; i<row; i++)
 {
   for(j=0; j<=(row-i-1); j++)
     printf(" ");
   for(j=0; j<=i; j++)
   {
     pas=calc(i)/(calc(j)*calc(i-j));
     printf("%ld ",pas); 
   }
   printf("\n");
 }
 system("pause");
 return 0;
}

long calc( int num)
{
 int x;
 long res=1;
 for(x=1; x<=num; x++)
   res=res*x;
 return (res);
}

Мне нужно вставить этот блок кода (может быть?)

if (i%2==0)
{
    i = asterisk;
    printf("%c", asterisk);
}

Конечно я поставлю в основной ()

char asterisk = 42;

Кто-нибудь может мне помочь?

1 ответ

https://ideone.com/qIN4Sf

#include<stdio.h>
#include<stdlib.h>
char asterisk = 42;
long calc( int );
int main()
{
 int i,j,row,pas;
 printf("Enter no. of rows in pascal triangle : ");
 scanf("%d", &row);
 printf("\n");
 for(i=0; i<row; i++)
 {
   for(j=0; j<=(row-i-1); j++)
     printf(" ");
   for(j=0; j<=i; j++)
   {
     pas=calc(i)/(calc(j)*calc(i-j));
     if (pas%2==0)
        printf("%c ", asterisk);
     else
        printf("%ld ",pas); 
   }
   printf("\n");
 }
 system("pause");
 return 0;
}

long calc( int num)
{
 int x;
 long res=1;
 for(x=1; x<=num; x++)
   res=res*x;
 return (res);
}
Другие вопросы по тегам