2015-01-29 3 views
0

я должен получить желаемый результат следующим образом:Рисование Вертикальная пирамида в C

1 
2 6 
3 7 10 
4 8 11 13 
5 9 12 14 15 

Но я не могу понять, как это сделать. Все, что я получаю:

1 
2 6 
3 7 6 
4 8 7 6 
5 9 8 7 6 

Вот мой код:

#include<stdio.h> 
int main() 
    { 
     int n,i,j; 
     scanf("%d",&n); 
     for(i=1;i<=n;i++) 
     { 
     for(j=0;j<i;j++) 
     { 
      if((j+1)==1) 
      printf("%d ",i); 
      else 
      printf("%d ",i+n-j); 
     } 
     printf("\n"); 
     } 
     return 0; 
    } 

Но я понял, желаемый результат: я должен напечатать цифры от 1 до 15 в порядке возрастания, как прямоугольный треугольник ,

+0

Как вы пришли к желаемому результату? Есть ли формула? Какой-то псевдокод? – sp2danny

+0

Нет, это было то, что меня попросили показать моим профессором. Нет никакой формулы. –

ответ

0
#include <stdio.h> 

#define SZ 5 

int main() 
{ 
    int i,j, add = SZ, val[SZ+1] = {1}; 
    for(j=1; j<=SZ; ++j) 
    { 
     for(i=0; i<j; ++i) 
      printf("%2d ", val[i]++); 
     printf("\n"); 
     val[j] = val[j-1] + --add; 
    } 
}