Exibir figuras geométricas com loops [RESOLVIDO]

1. Exibir figuras geométricas com loops [RESOLVIDO]

allendohorizonte
allendohorizonte

(usa Slackware)

Enviado em 04/03/2013 - 23:10h

Boa noite caros amigos do VOL, estou tentando com o este loop
"for ((i=1; i<=25; i+=2)); do echo \*{$i}; done"
exibir na tela algo parecido com isto:




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

Qual correção deveria ser feita para que não desse como saída isso:
*{1}
*{3}
*{5}
*{7}
*{9}
*{11}
*{13}
*{15}
*{17}
*{19}
*{21}
*{23}
*{25}


Agradeço a atenção.


  


2. MELHOR RESPOSTA

Sandro Marcell
smarcell

(usa Slackware)

Enviado em 05/03/2013 - 10:34h

Você pode tentar assim! (Tá meio tosco, mas...)


$ cat test.sh
#!/bin/bash
#
char='*'
for ((i = 0; i < 10; i++)); do
inc_char[i]="$char"
echo -ne "${inc_char[@]}\r"
echo "$char"
done


Exemplo:


$ ./test.sh
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *


3. Re: Exibir figuras geométricas com loops [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/03/2013 - 16:33h

Opa smarcell, beleza?

Cara, poderia explicar sua solução?

Não entendi e fiquei bastante curioso :p


4. Re: Exibir figuras geométricas com loops [RESOLVIDO]

Sandro Marcell
smarcell

(usa Slackware)

Enviado em 05/03/2013 - 17:45h

O vetor 'inc_char' vai sendo populado com o caractere definido em "$char" conforme as passadas do loop e ao mesmo tempo o conteudo desse vetor é impresso, MAS devido ao caractere de controle '\r' (carriage return) o cursor sempre volta ao início da linha, obrigando o uso de 'echo $char' para imprimir o próximo caractere na mesma linha.

Pra ficar mais claro, execute o script assim:

bash -xv test.sh 


E veja como se dá a lógica do script.

Falou!!!


5. Re: Exibir figuras geométricas com loops [RESOLVIDO]

allendohorizonte
allendohorizonte

(usa Slackware)

Enviado em 05/03/2013 - 23:21h

smarcell obrigado pela dica e pelos esclarecimentos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts