Mario (more)
Problema a Resolver
Em um arquivo chamado mario.c
, em um diretório
chamado mario-more
, implemente um programa
em C que recria uma pirâmide usandos hashes (
#
) como se fossem blocos.
Começando
Passo a Passo
Eis aqui um passo a passo para a resolução do problema.
Mundo 1-1
No início do Mundo 1-1 do jogo Super Mario Brothers da Nintendo, Mario deve pular sobre pirâmides adjacentes de blocos, como mostrado abaixo.
Vamos recriar essas pirâmides em C, embora em texto, usando cerquilhas (#
) para os tijolos, como abaixo. Cada cerquilha é um pouco
mais alta do que larga, então as próprias pirâmides também serão mais altas do que largas.
# #
## ##
### ###
#### ####
O programa que escreveremos será chamado de mario
. E vamos permitir que o usuário decida qual deve ser a altura das pirâmides, solicitando primeiro a ele um número inteiro positivo entre, digamos, 1 e 8, inclusive.
Aqui está como o programa pode funcionar se o usuário inserir 8
quando solicitado:
$ ./mario
Altura: 8
# #
## ##
### ###
#### ####
##### #####
###### ######
####### #######
######## ########
Aqui está como o programa pode funcionar se o usuário inserir 4
quando solicitado:
$ ./mario
Altura: 4
# #
## ##
### ###
#### ####
Aqui está como o programa pode funcionar se o usuário inserir 2
quando solicitado:
$ ./mario
Altura: 2
# #
## ##
E aqui está como o programa pode funcionar se o usuário inserir 1
quando solicitado:
$ ./mario
Altura: 1
# #
Se o usuário não inserir um inteiro positivo entre 1 e 8, inclusive, quando solicitado, o programa deve solicitar novamente até que o usuário coopere:
$ ./mario
Altura: -1
Altura: 0
Altura: 42
Altura: 50
Altura: 4
# #
## ##
### ###
#### ####
Observe que a largura do "vão" entre as pirâmides adjacentes é igual à largura de dois hashtags, independentemente das alturas das pirâmides.
Abra o seu arquivo mario.c
para implementar este problema como descrito!
Como Testar Seu Código
O seu código funciona como esperado quando você insere:
-1
(ou outros números negativos)?0
?1
a8
?9
ou outros números positivos?- letras ou palavras?
- nenhuma entrada, quando você somente pressiona Enter?
Execute o abaixo para avaliar a correção do seu código usando check50
. Mas certifique-se de compilá-lo e testá-lo você
mesmo também!
check50 cs50/problems/2024/x/mario/more
Execute abaixo para avaliar o estilo do seu código usando style50
.
style50 mario.c
Dica
Um espaço é apenas uma pressão da tecla de espaço, assim como um ponto é apenas uma pressão de sua tecla!
Apenas lembre-se que o printf
requer que você os
envolva com aspas duplas!
Como Enviar
No seu terminal, execute abaixo para enviar seu trabalho.
submit50 cs50/problems/2024/x/mario/more