Como imprimir um triângulo em C

Escreva um programa em C e Java para imprimir padrões triangulares de estrelas.

Este post aborda os seguintes padrões formados por um triângulo retângulo e seu espelho:

Padrão 1: Triângulo Reto
Padrão 2: Espelho do Triângulo Reto
Padrão 3: Triângulo oco em ângulo reto
Padrão 4: Espelho do Triângulo Oco em Ângulo Reto

Padrão 1: Triângulo Reto

* * * * * * * * * * * * * * *

 
Este é um dos padrões mais básicos e fáceis. Nós podemos ter n linhas. A 1ª linha conterá 1 estrela, a 2ª linha conterá 2 estrelas e assim por diante. Podemos usar dois loops aninhados para imprimir esse padrão, onde o loop externo representa o número da linha (digamos i), e o loop interno simplesmente imprime o padrão estrela i vezes.


    // `n` é o número total de linhas

        for (j = 1; j <= i; j++) {

        // move para a próxima linha

Download  Executar código


    public static void main(String[] args)

        // `n` é o número total de linhas

        for (int i = 1; i <= n; i++)

            for (int j = 1; j <= i; j++) {

            // move para a próxima linha

            System.out.print(System.lineSeparator());

Download  Executar código

Padrão 2: Espelho do Triângulo Reto

             *           *  *        *  *  *     *  *  *  *  *  *  *  *  *

 
Suponha que temos n linhas. Aqui, a 1ª linha conterá (n-1) espaços, seguidos de 1 estrela. A 2ª linha conterá (n-2) espaços, seguidos de 2 estrelas e assim por diante. Podemos usar loops aninhados para imprimir esse padrão, onde o loop externo representa o número da linha (digamos i) e o loop interno imprime o espaço (n-i vezes), seguido pelo padrão estrela (i vezes).


    // `n` é o número total de linhas

    // executa o loop `n` vezes

        // loop para espaço de impressão

        for (j = 1; j <= n - i; j++) {

        // loop para imprimir '*'

        for (k = 1; k <= i; k++) {

        // move para a próxima linha

Download  Executar código


    public static void main(String[] args)

        // `n` é o número total de linhas

        //Executa o loop `n` vezes

        for (int i = 1; i <= n; i++)

            // loop para espaço de impressão

            for (int j = 1; j <= n - i; j++) {

            // loop para imprimir '*'

            for (int k = 1; k <= i; k++) {

            // move para a próxima linha

            System.out.print(System.lineSeparator());

Download  Executar código

Padrão 3: Triângulo oco em ângulo reto

* * * *   * *     * * * * * *

 
A ideia continua a mesma Padrão 1, mas aqui imprimimos '*' apenas para a última linha e primeira e última posições para cada linha. Para todas as outras posições, imprimimos espaço.


    // `n` é o número total de linhas

            // imprime '*' para limites

            if (i == n || j == 1 || j == i) {

        // move para a próxima linha

Download  Executar código


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

class Main

{

    public static void main(String[] args)

    {

        // `n` é o número total de linhas

        final int n = 5;

        // Faça para cada linha

        for (int i = 1; i <= n; i++)

        {

            // imprime '*' i vezes

            for (int j = 1; j <= i; j++)

            {

                // imprime '*' para limites

                if (i == n || j == 1 || j == i) {

                    System.out.print('*');

                }

                else {

                    System.out.print(' ');

                }

            }

            // move para a próxima linha

            System.out.print(System.lineSeparator());

        }

    }

}

Download  Executar código

Padrão 4: Espelho do Triângulo Oco em Ângulo Reto

             *           *  *        *     *     *        *  *  *  *  *  *

 
Aqui a ideia continua a mesma Padrão 2, mas imprimimos '*' apenas para a última linha e primeira e última célula em cada linha. Os espaços preencherão todas as outras posições.


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

#include <stdio.h>

int main(void)

{

    // `n` é o número total de linhas

    int n = 5;

    int i, j, k;

    // executa o loop `n` vezes

    for (i = 1; i <= n; i++)

    {

        // loop para espaço de impressão

        for (j = 1; j <= n - i; j++) {

            printf(" ");

        }

        // loop para imprimir '*'

        for (k = 1; k <= i; k++)

        {

            // imprime '*' para limites

            if (i == n || k == 1 || k == i) {

                printf("*");

            }

            else {

                printf(" ");

            }

        }

        // move para a próxima linha

        printf("\n");

    }

    return 0;

}

Última postagem

Tag