Hercles Posted June 10, 2014 Report Share Posted June 10, 2014 (edited) Olá! nesta questão não consegui entender como pede para imprimir o $result que inicialmente tem valor 1 e depois é impresso 7, vi que concatena com espaços e o próprio @result. Vocês poderiam explicar em qual linha isto acontece? Vejam o desenho que é impresso por este código bem abaixo. O desenho da figura abaixo é gerada pela função desenho(7). Implemente, na linguagem PHP, a função desenho($n) usando apenas loops, carateres numéricos, espaço, e retorno de linha “\n”. Resp. function figura($n){ $result = 1; for($j = 2; $j<=$n; $j++){ $result = $j." ".$result." ".$j; } $result .= "\n"; for($i = 2; $i<=$n; $i++){ $spaces = ""; for($j = 1; $j<$i; $j++){ $spaces .= " "; } $str = $i; for($j = $i+1; $j<=$n; $j++){ $str = $j." ".$str." ".$j; } $result = $spaces.$str."\n".$result.$spaces.$str."\n"; } echo $result; } echo "<pre>"; figura(7); echo "</pre>"; O desenho impresso: 7 7 6 7 7 6 5 6 7 7 6 5 4 5 6 7 7 6 5 4 3 4 5 6 7 7 6 5 4 3 2 3 4 5 6 7 7 6 5 4 3 2 1 2 3 4 5 6 7 7 6 5 4 3 2 3 4 5 6 7 7 6 5 4 3 4 5 6 7 7 6 5 4 5 6 7 7 6 5 6 7 7 6 7 7 Caros esta figura deveria ficar igual a um balão em pé... Mas não estou conseguindo formatar aqui... quem puder formatar... Grato. Edited June 11, 2014 by Hercles Link to comment Share on other sites More sharing options...
yoda Posted June 10, 2014 Report Share Posted June 10, 2014 quem puder formatar... Grato. Não entendi. Queres ajuda ou queres que façam por ti? before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
Hercles Posted June 10, 2014 Author Report Share Posted June 10, 2014 (edited) yoda - eu postei uma dúvida, mas não vão entender o desenho que o codigo faz .... porque o html aqui não reproduz... o desenho feito como os números deveria ficar aqui no site como losangolo. Tentei colocar as tag mas não deu certo... [b] [/b] [b] obs: Isto não é minha dúvida inicial 🙂 [/b] Edited June 10, 2014 by Hercles Link to comment Share on other sites More sharing options...
yoda Posted June 10, 2014 Report Share Posted June 10, 2014 Se não deu provavelmente não vai dar, o Geshi tem problemas com a formatação, faz um printscreen do resultado se quiseres mostrar. before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 10, 2014 Report Share Posted June 10, 2014 7 7 6 7 7 6 5 6 7 7 6 5 4 5 6 7 7 6 5 4 3 4 5 6 7 7 6 5 4 3 2 3 4 5 6 7 7 6 5 4 3 2 1 2 3 4 5 6 7 7 6 5 4 3 2 3 4 5 6 7 7 6 5 4 3 4 5 6 7 7 6 5 4 5 6 7 7 6 5 6 7 7 6 7 7 não vou estar a explicar o código digo só que se fosse o seguinte seria pior: function figura($n){ $result = ""; for ($l = -$n ; $l <= $n; ++$l) { if ($l < 0 || $l > 1) { for ($s = abs($l) ; $s > 1; --$s) $result .= " "; $count = ($n - abs($l)) * 2 + 1; for ($s = $count; $s > 0; --$s) $result .= $n - ($count - $s) - (round($s - $count / 2) < 0 ? (round($s - $count / 2) * 2) : 0)." "; $result .= "\n"; } } echo $result; } echo "<pre>"; figura(7); echo "</pre>"; IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Hercles Posted June 11, 2014 Author Report Share Posted June 11, 2014 HappyHippyHippo - não entendi. o Seu código é pior do que o meu? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 11, 2014 Report Share Posted June 11, 2014 é pior em termos de explicar como funciona IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Hercles Posted June 11, 2014 Author Report Share Posted June 11, 2014 to testando, trocando os valores do seu código e entendendo cada linha. entendi o for com o negativo e positivo.. to testando Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now