Dinesh Sahoo Ответов: 3

Как мне...распечатать структуру


4 3 2 1 2 3 4
3 2 1 2 3
2 1 2
1

Что я уже пробовал:

#include <stdio.h>

int main()
{
    int i, space, rows,col;



    for(rows=4; rows>=1; rows--)
    {
        
         for(col=rows;col>=1;col--)
       {
           printf(" %d",col);
       }

 for(col=2;col<=rows;col++)
       {
           printf(" %d",col);
       }

        printf("\n");
    }

    return 0;
}

CHill60

Что не так с вашим кодом?

Dinesh Sahoo

мне нужен первый элемент 2-й строки (3) точно ниже 3-х первых строк.
ну, и так далее.затем в 3-м (2) точно под (2), как это, наконец, только 1 печатается под (1) .

3 Ответов

Рейтинг:
2

OriginalGriff

И ваш код - хотя и с плохими отступами - работает. Когда я копирую ваш код в онлайн IDE и запускаю его я получаю:

 4 3 2 1 2 3 4                                                           
 3 2 1 2 3                                                               
 2 1 2                                                                   
 1                                                                       
                                                                         
                                                                         
...Program finished with exit code 0
Так что же я делаю такого, чего не делаешь ты?


Рейтинг:
2

Steve44

Это и есть тот выход, который вы ищете:

4 3 2 1 2 3 4
  3 2 1 2 3
    2 1 2
      1


Вам нужно вывести пробелы для свесов, это означает, что вы всегда должны печатать с 4, Даже если только пустое поле. Изменение кода здесь:
int main()
{
    int rows, col;

    for (rows = 4; rows >= 1; rows--)
    {
        for (col = 4; col >= 1; col--)
        {
            if (col <= rows)
            {
                printf(" %d", col);
            }
            else
            {
                printf("  ");
            }
        }
        for (col = 2; col <= 4; col++)
        {
            if (col <= rows)
            {
                printf(" %d", col);
            }
            else
            {
                printf("  ");
            }
        }

        printf("\n");
    }

    return 0;
}


Dinesh Sahoo

спасибо....

Рейтинг:
1

Patrice T

Научитесь правильно делать отступы в вашем коде, это покажет его структуру, и это поможет чтению и пониманию.

#include <stdio.h>

int main()
{
    int i, space, rows,col;
    for(rows=4; rows>=1; rows--)
    {
        for(col=rows;col>=1;col--)
        {
            printf(" %d",col);
        }
        
        for(col=2;col<=rows;col++)
        {
            printf(" %d",col);
        }
        
        printf("\n");
    }

    return 0;
}

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]

У вас есть проблемы с этим кодом ?