Показать сообщение отдельно

  #10  
Старый 30.03.2010, 02:21
xxxxxxxxxxxxxxx
Познающий
Регистрация: 20.01.2008
Сообщений: 65
С нами: 9634990

Репутация: 25
По умолчанию

Цитата:
Сообщение от Iron47  

Треугольник выводится прямоугольным, а надо равносторонний
Код:
#include<stdio.h>

int main()
{
    int i, j,n,*p,check=1, blank, memspace, mem=0, rowdiff=1;
    printf("Enter the number of rows:");
    scanf("%d",&n);
    blank=n-1;
    memspace=((n*(n+1))/2);
    p=(int*)malloc(sizeof(int)* memspace);
    for(i=0;i<n;i++){
        printf("\n");
        for(j=0;j<blank;j++)
            printf(" ");
        for(j=0;j<check;j++){
            if(j==0 || j==(check-1))
                p[mem]=1;
            else
                p[mem]=p[mem-rowdiff] + p[mem-rowdiff+1];
            printf("%d ",p[mem]);
            mem++;
        }
        for(j=0;j<blank;j++)
        printf(" ");
        blank--;
        check++;
        rowdiff++;
    }
}
 
Ответить с цитированием