คำถามติดแท็ก whitespace

สำหรับความท้าทายที่เกี่ยวข้องกับการประมวลผลและการจัดวางอักขระช่องว่าง (ส่วนใหญ่ แต่ไม่ จำกัด เฉพาะช่องว่างแท็บและตัวดึงข้อมูลบรรทัด) เช่นความท้าทายที่เกี่ยวข้องกับการเยื้อง สำหรับความท้าทายเกี่ยวกับภาษาการเขียนโปรแกรมที่เป็นความลับช่องว่างใช้ [ช่องว่างภาษา] แทน

30
องค์ประกอบที่หายไป
กำหนดสตริงSและรายชื่อของดัชนีXปรับเปลี่ยนSโดยการเอาองค์ประกอบที่ดัชนีของแต่ละขณะที่ใช้ผลที่เป็นค่าใหม่SS ตัวอย่างเช่นกำหนดS = 'codegolf'และX = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

20
กำจัดช่องว่างบนบรรทัดอื่นที่ว่างเปล่า
อ่าอีกหนึ่งความเห็นแก่ตัวของฉันที่ใช้กับกองนี้ ในฐานะเจ้าของ Chromebook ฉันเป็นผู้ใช้ Ace IDE ตัวแก้ไขที่ใช้โดย Cloud9 บ่อยครั้ง มันมีเครื่องมือมากมายสำหรับจัดการกับช่องว่างส่วนเกิน แต่มันขาดหนึ่ง: การล้างบรรทัดว่าง ภารกิจของคุณในวันนี้คือรับข้อมูลจากสถานที่ที่ฉันสามารถคัดลอก - วางไปที่ [ ;)] ออกบางสิ่งที่เหมือนกันบันทึกช่องว่างทั้งหมดและตัวสร้างตารางในบรรทัดว่าง ฉันจะให้ตัวอย่างด้วย#s แทนอักขระช่องว่างที่จะถูกลบออก อินพุต 1: if (this.Color !== 'blue') { ## this.Color = 'blue'; } เอาท์พุท: if (this.Color !== 'blue') { [empty line] this.Color = 'blue'; } อินพุต 2: function outputSomething(times) { for …

3
ค้นหารูปแบบในเงื่อนไข
ในความท้าทายนี้งานของคุณคือการหาวัสดุพิมพ์ที่มีโครงสร้างที่กำหนด อินพุต ข้อมูลของคุณจะเป็นสองสายที่เป็นตัวเลขไม่ว่างเปล่าเป็นรูปแบบ pและข้อความ tแนวคิดก็คืออักขระแต่ละตัวจะpแทนซับสตริงที่ไม่ว่างเปล่าที่ต่อเนื่องกันtซึ่งเกิดขึ้นถัดจากกันและกันและpแสดงถึงการต่อกันของมัน อักขระที่เหมือนกันสอดคล้องกับสตริงย่อยที่เหมือนกัน ตัวอย่างเช่นรูปแบบaaหมายถึงสแควร์ที่ไม่ว่างเปล่า (สตริงที่ได้จากการต่อสตริงที่สั้นกว่าเข้ากับตัวเอง) ดังนั้นรูปแบบaaสามารถจับคู่สตริงย่อยbyebyeได้ด้วยการaจับคู่แต่ละbyeครั้ง เอาท์พุต หากข้อความที่tมีสตริงย่อยที่pการแข่งขันแล้วส่งออกของคุณจะเป็นสตริงย่อยที่มีทวิภาคแทรกระหว่างสตริงที่ตรงกับตัวละคร: pตัวอย่างเช่นถ้าเรามีt = byebyenowและp = aaก็bye:byeเป็นผลลัพธ์ที่ยอมรับได้ อาจมีหลายตัวเลือกสำหรับสตริงย่อยที่ตรงกัน แต่คุณจะส่งออกหนึ่งในพวกเขาเท่านั้น ถ้าtไม่ได้มี substring :(จับคู่ของคุณออกจะเป็นหน้าเศร้า กฎและคำชี้แจง ตัวละครที่แตกต่างกันpสามารถสอดคล้องกับสตริงเหมือนกันเพื่อให้สามารถจับคู่สตริงp = aba AAAโปรดทราบว่าตัวละครจะต้องสอดคล้องกับสตริงที่ไม่ว่างเปล่า; โดยเฉพาะอย่างยิ่งถ้าpมีความยาวมากกว่าการส่งออกจะต้องมีt:( คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบและคุณยังสามารถเปลี่ยนลำดับของอินพุตทั้งสองได้ จำนวนไบต์ต่ำสุดที่ชนะและไม่อนุญาตช่องโหว่มาตรฐาน กรณีทดสอบ pattern text -> outputได้รับในรูปแบบ โปรดทราบว่าอาจมีเอาต์พุตอื่นที่ยอมรับได้ a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

20
สลายจำนวน!
งานของคุณคือการแยกตัวเลขโดยใช้รูปแบบด้านล่าง นี้จะคล้ายกับการแปลงฐานยกเว้นที่แทนของรายชื่อdigitsในฐานคุณรายการvaluesเช่นว่ารายการเพิ่มขึ้นเพื่อป้อนข้อมูล หากฐานที่กำหนดคือnแต่ละหมายเลขในรายการจะต้องอยู่ในรูปแบบของk*(n**m)ที่ไหน0<=k<nและmไม่ซ้ำกันทั่วทั้งรายการ รายละเอียด รูปแบบอินพุต / เอาท์พุตที่สมเหตุสมผล โปรแกรม / ฟังก์ชั่นของคุณใช้ 2 อินพุทและเอาท์พุทรายการ รายการเอาท์พุทสามารถอยู่ในลำดับใด ๆ 0 สามารถยกเว้นหรือรวมไว้ได้ 0อนุญาตให้นำหน้า Built-in จะได้รับอนุญาต Testcases number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ ทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

23
เยื้องสตริงโดยใช้วงเล็บที่กำหนด
กำหนดอินพุตต่อไปนี้ให้กับโปรแกรม: รายการอักขระเริ่มบล็อก รายการอักขระสิ้นสุดบล็อก สตริงที่จะจัดรูปแบบ จัดรูปแบบสตริงด้วยบล็อกที่คั่นด้วยชุดอักขระสองเยื้อง การจัดรูปแบบเสร็จสิ้นด้วยสองช่องว่างต่อระดับและวางวงเล็บไว้ตามที่แสดงในตัวอย่างด้านล่าง คุณอาจคิดว่าชุดของการเปิดและปิดตัวละครที่จะ disjoint เช่นสำหรับ{[(<และ}])>เป็นชุดอักขระการเปิดและปิดและสตริงต่อไปนี้: abc{xyz{text[note{comment(t{ex}t)abc}]}} ผลลัพธ์ต่อไปนี้จะถูกคาดหวัง: abc { xyz { text [ note { comment ( t { ex } t ) abc } ] } } คุณไม่สามารถเขียนรหัสรายการอักขระ“ วงเล็บ” ได้ยาก แม้ว่าจะไม่ได้ระบุอินพุตให้ แต่; นี่อาจเป็นอาร์กิวเมนต์บรรทัดคำสั่งหรือผ่านอินพุตมาตรฐานตามที่คุณต้องการ

22
ใช้นักกอล์ฟที่ว่าง
esolangs สองมิติบางอย่างเช่นForkedและบางส่วนที่ไม่ใช่ esolangs เช่นPythonบางครั้งอาจต้องการช่องว่างก่อนบรรทัดของโค้ด นี่มันไม่ค่อยเล่นกอล์ฟมาก นอกจากนี้ฉันขี้เกียจเขียน 2d lang ที่ต้องการช่องว่างจำนวนมากก่อนรหัส งานของคุณคือการเขียนเครื่องมือที่ทำให้นักกอล์ฟภาษาเหล่านี้ แน่นอนว่าสิ่งนี้จะไม่สมบูรณ์แบบ ไม่สามารถใช้งานได้เช่นเมื่อตัวเลขเป็นอักขระตัวแรกในบรรทัดแหล่งที่มา อย่างไรก็ตามโดยทั่วไปจะมีประโยชน์ ท้าทาย คุณจะเขียนโปรแกรมหรือฟังก์ชั่นที่ ... ... รับหนึ่งอาร์กิวเมนต์ชื่อไฟล์หรือสตริงหรือ ... ... อ่านจากอินพุตมาตรฐาน โปรแกรมของคุณจะทำหน้าที่catยกเว้น: หากอักขระตัวแรกในบรรทัดใด ๆ เป็นตัวเลขรหัสของคุณจะพิมพ์xช่องว่างโดยที่xคือหมายเลขนั้น มิฉะนั้นจะพิมพ์ออกมาอย่างง่ายดาย เช่นเดียวกับตัวละครอื่น ๆ ในการป้อนข้อมูล กรณีทดสอบ การป้อนข้อมูล: foo bar foo bar 1foo bar foo bar foo bar 2foo bar foo bar foo bar foo bar เอาท์พุท: …

1
จำนวนเขาวงกตที่ถูกต้อง
ให้WxHตารางเขาวงกตที่เป็นไปได้กี่ที่จะมี? สิ่งที่คุณรู้เกี่ยวกับเขาวงกต: กริดเป็นHสี่เหลี่ยมจัตุรัสสูงและWกว้าง สี่เหลี่ยมจัตุรัสมีสามประเภท: เริ่มต้นเสร็จสิ้นและว่างเปล่า เขาวงกตของคุณจะต้องมี 1 Start และ 1 Finish อย่างแน่นอนและสี่เหลี่ยมที่เหลือทั้งหมดนั้นจะว่างเปล่า มีกำแพงล้อมรอบเขาวงกตทั้งหมด กำแพงสามารถอยู่บนขอบระหว่างสี่เหลี่ยมสองช่องใดก็ได้ยกเว้นว่ามันจะแตกกฎด้านล่าง: จะต้องมีเส้นทางจากช่องสี่เหลี่ยมเริ่มไปยังสี่เหลี่ยมเส้นชัย ดังนั้นให้มีตัวเลขสองตัวWและHคุณจะต้องส่งกลับหมายเลขเดียวที่แสดงถึงจำนวนของการกำหนดค่าสี่เหลี่ยม / กำแพงที่เป็นไปได้ รับรองได้เลยว่าW*H > 1 ตัวอย่างเช่น2x2เขาวงกตมี100การกำหนดค่าที่เป็นไปได้ที่แตกต่างกันอย่างแน่นอน นี่คือรหัสกอล์ฟเพื่อให้คำตอบที่สั้นที่สุดชนะ!

7
หัวกดโค้ด C
สถานการณ์: คุณเป็นครูมัธยมสอนวิธีการเขียนโปรแกรม C อย่างไรก็ตามเนื่องจากเป็นเพียงจุดเริ่มต้นของคำศัพท์คุณจึงไม่ได้สอนพวกเขาเกี่ยวกับความสำคัญของการเยื้องและการเว้นวรรค ในขณะที่คุณกำลังทำเครื่องหมายงานของพวกเขาดวงตาของคุณเจ็บปวดมากจนคุณกรีดร้องด้วยความเจ็บปวดและตระหนักว่าสิ่งนี้ไม่สามารถดำเนินต่อไปได้ ภารกิจ: คุณได้ตัดสินใจที่จะเขียนโปรแกรมในภาษาใด ๆ ที่ใช้ซอร์สโค้ด C ที่ถูกต้องเป็นอินพุตและเอาต์พุตในรูปแบบที่เหมาะสม คุณควรตัดสินใจว่าโค้ดที่จัดรูปแบบเป็นอย่างไรเนื่องจากเป็นการประกวดความนิยม คุณได้รับการสนับสนุนให้ใช้งานคุณลักษณะต่างๆได้มากเท่าที่จะทำได้ดังตัวอย่างต่อไปนี้: เพิ่มการเยื้องที่เหมาะสมที่ด้านหน้าของแต่ละบรรทัด เพิ่มช่องว่างหลัง,และผู้ประกอบการอื่น ๆ เช่นการแปลงไปint a[]={1,2,3}; int a[] = {1, 2, 3};จำไม่ได้ว่าจะดำเนินการกับผู้ประกอบการภายในตัวอักษรสตริงแม้ว่า ลบช่องว่างต่อท้ายหลังแต่ละบรรทัด การแยกข้อความออกเป็นหลายบรรทัดเช่นนักเรียนอาจเขียนtmp=a;a=b;b=tmp;หรือint f(int n){if(n==1||n==2)return 1;else return f(n-1)+f(n-2);}ทั้งหมดในหนึ่งบรรทัดคุณสามารถแยกมันออกเป็นหลายบรรทัดได้ ระวังforลูปแม้ว่าพวกเขาจะมีเครื่องหมายอัฒภาคในพวกเขา แต่ฉันไม่คิดว่าคุณควรแยกพวกเขาออก เพิ่มบรรทัดใหม่หลังจากกำหนดแต่ละฟังก์ชั่น คุณสมบัติอื่น ๆ ที่คุณจะได้รับจากความช่วยเหลือที่คุณเข้าใจรหัสนักเรียน เกณฑ์การชนะ: นี่คือการประกวดความนิยมดังนั้นคำตอบที่มีผู้โหวตมากที่สุดจะเป็นผู้ชนะ ในกรณีที่เสมอกันคำตอบที่มีคุณสมบัติส่วนใหญ่จะนำไปใช้ชนะ หากเป็นเน็คไทอีกครั้งรหัสที่สั้นที่สุดจะเป็นผู้ชนะ คุณควรที่จะรวมรายการฟีเจอร์ที่คุณนำไปใช้ในคำตอบรวมทั้งตัวอย่างอินพุตและเอาท์พุต แก้ไข: ตามที่ร้องขอในความคิดเห็นที่นี่เป็นตัวอย่างอินพุต แต่โปรดจำไว้ว่ามันเป็นเพียงสำหรับการอ้างอิงและคุณขอแนะนำให้ใช้คุณสมบัติมากที่สุดเท่าที่จะทำได้ การป้อนข้อมูล: #include <stdio.h> #include<string.h> int …

1
ติดตั้งเลขทศนิยมแบบไบนารีของ IEEE 754 64- บิตผ่านการจัดการจำนวนเต็ม
(ฉันติดแท็กคำถาม "C" ในขณะนั้น แต่ถ้าคุณรู้ภาษาอื่นที่สนับสนุนสหภาพคุณสามารถใช้มันได้) งานของคุณคือการสร้างตัวดำเนินการทางคณิตศาสตร์สี่มาตรฐาน+ - * /สำหรับโครงสร้างต่อไปนี้: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } เช่นว่าการดำเนินการของตัวเองเท่านั้นที่จะจัดการหรือเข้าถึงส่วนจำนวนเต็ม (ดังนั้นจึงไม่มีการเปรียบเทียบกับสองครั้งตลอดเวลาในระหว่างการดำเนินการอย่างใดอย่างหนึ่ง) และผลที่ได้คือเหมือนกัน (หรือเทียบเท่าตามหน้าที่ในกรณีของผลลัพธ์ที่ไม่ใช่ตัวเลขเช่นNaN) ราวกับว่าการดำเนินการทางคณิตศาสตร์ที่สอดคล้องกันถูกนำไปใช้โดยตรงกับdoubleแทน คุณอาจเลือกส่วนจำนวนเต็มเพื่อจัดการแม้กระทั่งการใช้ส่วนต่าง ๆ ในตัวดำเนินการที่แตกต่างกัน (คุณสามารถเลือกที่จะลบ "unsigned" ออกจากฟิลด์ใด ๆ ในสหภาพได้แม้ว่าฉันไม่แน่ใจว่าต้องการทำเช่นนั้นหรือไม่) คะแนนของคุณคือผลรวมของความยาวของรหัสเป็นอักขระสำหรับผู้ให้บริการแต่ละราย คะแนนต่ำสุดชนะ สำหรับพวกเราที่ไม่คุ้นเคยกับข้อกำหนด IEEE 754 นี่เป็นบทความเกี่ยวกับเรื่องนี้ใน Wikipedia การแก้ไข: 03-06 …

2
ใส่ใหม่ Java / C / C ++ / ฯลฯ รหัส
เขียนโปรแกรมที่เพิ่มหรือลบช่องว่างเพื่อจัดรูปแบบโค้ดได้อย่างดี กฎสำหรับสิ่งที่รหัสควรมีลักษณะเมื่อคุณทำเสร็จ ไม่มีเส้นควรมีมากกว่าหนึ่งและ{} A {ควรเป็นสิ่งสุดท้ายในบรรทัดเสมอ A }ควรเป็นสิ่งเดียวในบรรทัดเสมอ (นอกเหนือจากช่องว่างที่มาก่อนหน้า) จำนวนของช่องว่างด้านหน้าของแต่ละบรรทัดควรเป็นจำนวนคงที่ของจำนวนการซ้อนปัจจุบัน (คุณสามารถใช้การเยื้องในจำนวนที่ต้องการตราบใดที่มันไม่เปลี่ยนแปลง) ไม่ควรใส่หรือลบช่องว่างที่ไม่มีส่วนในการทำให้กฎเหล่านี้เป็นที่พอใจ นับรังบรรทัดแรกเป็น 0 นับการทำรังของสายอื่น ๆ คือการนับการทำรังของบรรทัดก่อนหน้าบวกหนึ่งถ้าบรรทัดก่อนหน้ามีลบหนึ่งถ้าบรรทัดปัจจุบันมี{} {และ}ภายในสตริงตัวอักษรและความคิดเห็นไม่นับในกฎข้างต้น สตริงตัวอักษรเป็นข้อความที่อยู่ในเครื่องหมายคำพูดเดี่ยวหรือคู่โดยที่เครื่องหมายคำพูดเดี่ยวหรือคู่ที่มีจำนวนแบ็กสแลชแปลก ๆ ก่อนที่พวกเขาจะไม่ถูกตีความว่าเป็นจุดสิ้นสุดของตัวอักษรสตริง ความคิดเห็นคือข้อความที่อยู่ใน/*และ*/หรือข้อความที่ไปจาก//ถึงจุดสิ้นสุดของบรรทัด ในเครื่องหมายเริ่มต้นความคิดเห็นหลายบรรทัดบรรทัดเดียวเท่านั้นที่นับได้ ความคิดเห็นจะไม่ถูกแยกวิเคราะห์ภายในตัวอักษรสตริง ตัวอย่าง main() {printf("Hello!"); // I don't care about the world... } becomes: main() { printf("Hello!"); // I don't care about the world... } int main(){ puts("a"); puts("b"); …

1
มันจะลอยหรือไม่
ความท้าทาย รับสาย 2d ที่แสดงด้านล่างของเรือเป็นอินพุตคุณต้องพิจารณาว่าเรือจะลอยหรือไม่ สตริง 2D นี้สามารถอยู่ในรูปแบบใดก็ได้ที่สะดวกที่สุด (สตริงที่มีการขึ้นบรรทัดใหม่รายการของสตริงรายการของตัวอักษร ฯลฯ ) พิมพ์ค่าจริงถ้ามันจะลอยและค่าเท็จถ้ามันจะจม เรือจะหงายท้องถ้าก้นมีความหนาแน่นไม่คงที่ดังนั้นตัวละครทุกตัวจะต้องเหมือนกัน นอกจากนี้ถ้าเรือมีรูขนาดใหญ่แสดงด้วยช่องว่างมันจะจมดังนั้นเรือของคุณจะต้องไม่มีรูที่มีพื้นที่มากกว่า 4 นี่คือตัวอย่าง: ######## # #### ######## # ## ## # ##### ######## เรือลำนี้ใช้ได้เพราะหลุมที่ใหญ่ที่สุดในนั้นมีพื้นที่ 4 เรือนี้: ######## ######## # ## # ##### ######## ไม่ถูกต้องเนื่องจากมีรูที่มีพื้นที่ 7 คุณสามารถสันนิษฐานได้อย่างปลอดภัยว่าภายนอกของอินพุตทุกอันจะเป็นรูปสี่เหลี่ยมผืนผ้าที่มั่นคงโดยไม่มีรู นี่คือการทดสอบเพิ่มเติม: $$$$$$$$ ***$$$$$ ***$$$$$ ***$$$$$ $$$$$$$$ Invalid density. Sink. %%%%%%%% % % …

3
ขยายแท็บ (ใช้ขยาย (1))
งานของคุณในครั้งนี้คือการใช้ชุดexpand(1)โปรแกรมอรรถประโยชน์POSIX ซึ่งขยายแท็บไปยังช่องว่าง โปรแกรมของคุณคือใช้ข้อมูลจำเพาะของแท็บสต็อปจากนั้นอ่านอินพุตตามมาตรฐานในและแทนที่อักขระแท็บในอินพุตด้วยจำนวนช่องว่างที่เหมาะสมเพื่อเข้าถึงแท็บสต็อปถัดไป ผลที่ควรจะเขียนออกมาตรฐาน ข้อมูลจำเพาะ Tabstop ข้อกำหนด TabStopประกอบด้วยทั้งหมายเลขเดียวหรือรายการคั่นด้วยเครื่องหมายจุลภาค tabstops ในกรณีของตัวเลขเดียวมันซ้ำแล้วซ้ำอีกราวกับว่ามันทวีคูณของมันเกิดขึ้นในรายการคั่นด้วยเครื่องหมายจุลภาค (เช่น4ทำหน้าที่เป็น4,8,12,16,20,...) +รายการในรายการคั่นด้วยเครื่องหมายจุลภาคแต่ละเป็นจำนวนเต็มบวกนำหน้าเลือกโดย +คำนำหน้าบ่งบอกถึงความแตกต่างเมื่อเทียบกับค่าก่อนหน้านี้ในรายการคั่นด้วยเครื่องหมายจุลภาค ค่าแรกในรายการต้องเป็นค่าสัมบูรณ์ แท็บระบุคอลัมน์ของอักขระที่ไม่ใช่ช่องว่างถัดไป (ตามหลังแท็บที่ขยาย) โดยคอลัมน์ซ้ายสุดที่ถือเป็นหมายเลข 0 แท็บควรขยายเป็นอย่างน้อยหนึ่งช่องเสมอ อินพุต / เอาต์พุต ข้อมูลจำเพาะ tabstop จะต้องนำมาเป็นพารามิเตอร์บรรทัดคำสั่งแรกไปยังโปรแกรมหรืออ่านจากมาตรฐานในเป็นบรรทัดแรกของการป้อนข้อมูล (ยกเลิกโดยขึ้นบรรทัดใหม่) ขึ้นอยู่กับดุลยพินิจของคุณ หลังจากที่แท็บหยุดอ่านอินพุตที่เหลือ (อินพุตทั้งหมดในเคสเก่า) จนกว่า EOF จะถูกประมวลผลและขยาย เอาท์พุทที่ขยายจะต้องเขียนออกมาตรฐาน แท็บที่ถูกขยายทั้งหมดและอินพุตทั้งหมดจะถือว่ามีความกว้างสูงสุด 80 คอลัมน์ แท็บที่ขยายทั้งหมดจะเพิ่มขึ้นอย่างเคร่งครัด ตัวอย่าง ข้อมูลจำเพาะ Tabstop 4,6,+2,+8เทียบเท่ากับ4,6,8,16และมีทั้งอินพุต ab<Tab>c <Tab><Tab>d<Tab>e<Tab>f ถูกขยายเป็น ( ␣หมายถึงช่องว่าง) ab␣␣c ␣␣␣␣␣␣d␣e␣␣␣␣␣␣␣f 01234567890123456 (Ruler …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.