บทนำ
เขียนโปรแกรมหรือฟังก์ชั่นที่เพิ่มตัวพิมพ์ใหญ่ในย่อหน้า โปรแกรมจะป้อนข้อความเพื่อจัดรูปแบบความกว้างคอลัมน์และจำนวนบรรทัดที่จะลดทุน ตัวพิมพ์ใหญ่มีลักษณะดังนี้:
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
เย้ท้าทายการพิมพ์อีกครั้ง! เราต้องการสิ่งเหล่านี้มากกว่านี้
—
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
?