Как создать функцию для вывода лежачих песочных часов, введя размер массива - PullRequest
0 голосов
/ 15 мая 2019

Как мне сделать функцию для вывода лежащих песочных часов, а не установленных песочных часов, получая массив?

Я знаю, как реализовать вертикальные песочные часы.

Когда я получил число пять,

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

1 Ответ

0 голосов
/ 15 мая 2019

Если вам не нужно, чтобы он был универсальным для любого числа строк, но только для этого случая, так что 1-го цикла будет вполне достаточно.

for (int i = 0; i < 5; i++) {   
            if (i == 0 || i == 4) //1st and 5th rows
                printf("%d        %d\n", i + 1, i + 13);
            else if(i == 1 || i == 3)//2nd and 4th rows
                printf("%d %d   %d %d\n", i + 1, i + 5, i + 9, i + 13);
            else
                printf("3 7 9 11 15\n");//3rd row
    }

, если вы хотите, чтобы он был универсальными зависит от ввода пользователем номера строки - просто добавьте еще один цикл for и вычислите количество пробелов, которое вам нужно, и то, какое число для печати зависит от количества итераций.

...