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 1: Triângulo Reto *
* *
* * *
* * * *
* * * * *
// `n` é o número total de linhas for (j = 1; j <= i; j++) { // move para a próxima linha
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
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.
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; } |