Вступление
Напишите программу или функцию, которая добавляет капля в абзац. Программа будет вводить текст для форматирования, ширину столбца и количество строк для удаления заглавной буквы. Столицы выглядят так:
Lines: 2 3 4
Drop capital: A| A.| A..|
~' ..| ...| etc.
~~' ...|
~~~'
Это типографский вызов.
вход
- Введите строку печатных символов ASCII (без табуляции или перевода строки) и 2 целых числа больше единицы.
- Одно целое число - это количество столбцов, которые должны иметь выходные данные.
- Другой - это количество строк, соединенных пропущенным капиталом.
- Текстовая строка содержит слова, разделенные пробелами.
- Предположим, что ни одно из слов не будет длиннее ширины столбца.
То есть,
column width > longest word + drop capital height
- Все строки будут содержать хотя бы одно слово.
- Для этой задачи слово состоит из любого символа, кроме пробела.
- Ввод может быть в любом удобном формате, следуя правилам выше.
Выход
- Выровненный по левому краю блок текста, содержащий прописную букву с указанным количеством строк.
- Строка должна содержать как можно больше слов, не превышая ширину столбца.
- Между буквой и остальной частью каждой строки есть пробел.
- Разрешается использовать один пробел или символ новой строки.
Примеры
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.
Это код-гольф и применяются стандартные лазейки.
3
Yay, другой типографский вызов! Нам нужно больше из них.
—
ETHproductions
Что происходит, когда слово длиннее ширины столбца, т.е.
—
MickyT
The quick brown fox jumped over the unenthusiastic dog
для любого из первых трех примеров?
@MickyT Предположим, что ни одно из слов не будет длиннее ширины столбца. То есть,
—
Intrepidcoder
column width > longest word + drop capital height
Что если заглавные строки больше, чем строки текста? То есть.
—
TFeld
L:4,C:100,T:'Stuff'
Кроме того, может
—
TFeld
Lines = 1
?