Introdução
Escreva um programa ou função que adicione uma capital maiúscula a um parágrafo. O programa inserirá o texto para formatar, a largura da coluna e o número de linhas para eliminar a capital. As maiúsculas são assim:
Lines: 2 3 4
Drop capital: A| A.| A..|
~' ..| ...| etc.
~~' ...|
~~~'
Este é um desafio relacionado à tipografia .
Entrada
- Insira uma sequência de caracteres ASCII imprimíveis (sem guias ou novas linhas) e 2 números inteiros maiores que um.
- Um número inteiro é o número de colunas que a saída deve ter.
- A outra é o número de linhas estendidas pela capital maiúscula.
- A sequência de texto contém palavras separadas por espaços únicos.
- Suponha que nenhuma das palavras seja maior que a largura da coluna.
Isso é,
column width > longest word + drop capital height
- Todas as linhas terão pelo menos uma palavra.
- Para esse desafio, uma palavra consiste em qualquer caractere que não seja um espaço.
- A entrada pode estar em qualquer formato conveniente, seguindo as regras acima.
Saída
- Um bloco de texto justificado à esquerda que contém uma capital maiúscula com o número especificado de linhas.
- Uma linha deve conter o maior número possível de palavras sem exceder a largura da coluna.
- Há um espaço entre o capital inicial e o restante de cada linha.
- Um espaço à direita ou nova linha é permitido.
Exemplos
Lines: 2 Columns: 10 Text: The quick brown fox jumped over the lazy dog.
T| he
~' quick
brown fox
jumped
over the
lazy dog.
Lines: 3 Columns: 10 Text: (Same as above)
T.| he
..| quick
~~' brown
fox jumped
over the
lazy dog.
Lines: 4 Columns: 10 Text: (Same as above)
T..| he
...| quick
...| brown
~~~' fox
jumped
over the
lazy dog.
Lines: 2 Columns: 80 Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor.
L| orem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.
~' Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec
consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero
egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem
lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor.
Lines: 3 Columns: 80 Text: (Same as above)
L.| orem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.
..| Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec
~~' consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget
libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta
lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non
tortor.
Lines: 4 Columns: 80 Text: (Same as above)
L..| orem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam
...| lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra
...| nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam
~~~' eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim,
ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies
a non tortor.
Este é o código-golfe e as brechas padrão se aplicam.
code-golf
typography
intrepidcoder
fonte
fonte
The quick brown fox jumped over the unenthusiastic dog
para qualquer um dos três primeiros exemplos?column width > longest word + drop capital height
L:4,C:100,T:'Stuff'
Lines = 1
?Respostas:
Python 2, 202 bytes
Ligar como
f(Lines, Columns, Text)
f(4,100,'Stuff')
dáfonte
C #, 244 bytes
Recuo, novas linhas e comentários para maior clareza:
fonte