Нужен динамический отступ для первого столбца - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdio.h>
#define n 13
main ()
{
int a[n][n+1], i, j, x;
for (i=0;i<n;i++){
for (j=0;j<n+1;j++){
a[i][j]=0;
a[2][1]=1;
if (j>0 && i>0) {a[i][j]=a[i-1][j-1]+a[i-1][j];}
a[2][1]=1;
x=n-1-i;
if (j==0) {printf ("  %d", a[i][j]);}
if  (a[i][j]>9 && j!=0) {printf (" %d", a[i][j]);}
 else if ( a[i][j]!=0 || a[i][j-1]!=0 || (i==1 && j==1)) {printf ("  %d", a[i][j]);}
}
printf ("\n");
}
}
Вопрос : как переменную "х" загнать в качестве размера отступа в принтф? т.е. нужен динамический отступ для первого столбца, чтоб это выглядело действительно как равнобедренный (ну или почти) треугольник. Покурил мануалы в нете, ничерта не понял =_="

Решение задачи: «Нужен динамический отступ для первого столбца»

textual
Листинг программы
    printf("%*d", 3, a[i][j]);

Объяснение кода листинга программы

Код выводит на экран значение переменной a[i][j] с использованием формата вывода printf. В данном случае указывается:

  1. Формат вывода %*d - это означает, что нужно вывести целое число, используя отступ в 3 пробела.
  2. Значение переменной a[i][j] - это элемент массива a в строке i и столбце j. Выполнение кода будет зависеть от того, что содержится в массиве a. Если в массиве a есть элементы, то они будут выведены на экран с использованием указанного формата вывода. Если в массиве a нет элементов, то ничего не будет выведено на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы