/* File: piramid2.c */
/* Time-stamp: "2001-03-13 00:40:59 calvanes" */

/* Legge un intero compreso fra 1 e 9 e stampa una piramide di numeri di
   altezza pari al numero letto.
   Ad esempio, se legge 9, stampa quanto segue:
           1
          121
         12321
        1234321
       123454321
      12345654321
     1234567654321
    123456787654321
   12345678987654321
*/

#include <stdio.h>

int main(void)
{
  int altezza, riga, i;

  printf("Altezza piramide (1..9) ? ");
  scanf("%d", &altezza);

  for (riga = 1; riga <= altezza; riga++) {
          /* tiene conto delle righe della piramide: 1 iterazione <-> 1 riga */
    for (i = 1; i <= altezza - riga; i++)
                 /* stampa gli spazi bianchi iniziali necessari in ogni riga */
      putchar(' ');

    for (i = 1; i <= riga; i++)
                      /* stampa la sequenza crescente di numeri di ogni riga */
      printf("%d", i);

    for (i = riga - 1; i >= 1; i--)
                    /* stampa la sequenza decrescente di numeri di ogni riga */
      printf("%d", i);

    putchar('\n');                           /* va a capo: la riga e' finita */
  }

  return 0;
}