Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. เขียนโปรแกรม C ที่คอมไพล์ไม่ได้ใน C++

    ที่นี่ เราจะเขียนโปรแกรม C บางอย่างที่ คอมไพล์ไม่ได้ใน C++ แม้ C++ จะถูกพิจารณาว่าเป็นผู้สืบทอดของ C ที่มีฟีเจอร์ครบและมีความเข้ากันได้กับโค้ด C แต่มีบางโปรแกรมที่คอมไพล์ไม่ผ่านหรือให้ compilation error เมื่อคอมไพล์ด้วยคอมไพลอร์ C++ รายการโปรแกรม C บางอย่างที่คอมไพล์ไม่ได้ใน C++: เรียกฟังก์ชันก่อน

  2. เขียนโปรแกรม C แสดงเนื้อหาไฟล์แบบคำสั่ง 'more' ใน Linux

    ที่นี่ เราจะเขียนโปรแกรม C ที่จะแสดงเนื้อหาของไฟล์ทีละหน้า (page by page) ตามที่แสดงใน Linux โดยใช้คำสั่ง more โปรแกรมนี้จะแสดงจำนวนบรรทัดเฉพาะบนหน้าจอก่อน แล้วรอให้ผู้ใช้กด Enter เพื่อไปหน้าถัดไป คือ ชุดถัดไปของ n บรรทัด สำหรับการแสดงเนื้อหาไฟล์แบบนี้ เราจะเปิดไฟล์และพิมพ์เนื้อหาของมัน และนับตัวนั

  3. การทำงานกับ Array และ Vector ด้วย STL ใน C++

    Array และ Vector เป็นโครงสร้างข้อมูลที่สำคัญมากในการเขียนโปรแกรมแข่งขัน (competitive programming) สำหรับการแก้ปัญหา และ STL (Standard Template Library) ใน C++ มีฟังก์ชันบางอย่างสำหรับดำเนินการกับ array และ vector มาดูฟังก์ชันบางอย่างในการทำงาน: การหาผลรวม ค่าต่ำสุด และค่าสูงสุดของ array/vector - ใน

  4. Word Ladder (ความยาวโซ่สั้นที่สุดเพื่อไปถึงคำเป้าหมาย) ใน C++

    ในโจทย์นี้ เราได้รับพจนานุกรมและสองคำคือ start และ target งานของเราคือสร้างโซ่ (ladder) จากคำเริ่มต้นไปยังคำเป้าหมาย โซ่ถูกสร้างโดยที่แต่ละคำแตกต่างจากคำก่อนหน้ามากกว่า 1 ตัวอักษร และคำนั้นต้องมีอยู่ในพจนานุกรม คำเป้าหมายมีอยู่ในพจนานุกรม และความยาวของทุกคำเท่ากัน โปรแกรมจะคืนค่าความยาวของเส้นทางสั

  5. การสร้างคำโดยการต่อสตริงสองคำจากพจนานุกรมใน C++

    ในโจทย์นี้ เราได้รับพจนานุกรม (dictionary) และคำหนึ่งคำ งานของเราคือตรวจสอบว่าคำที่ให้มาสามารถสร้างได้จากการต่อสตริง (concatenation) ของสองคำจากพจนานุกรมหรือไม่ ขณะสร้างคำที่ให้มา การซ้ำของคำไม่ได้รับอนุญาต ตัวอย่าง อินพุต dictionary = {hello, tutorials, program, problem, coding, point} word = tuto

  6. เลข Woodall (Woodall Number) ใน C++

    ในโจทย์นี้ เราได้รับจำนวนหนึ่ง และงานของเราคือตรวจสอบว่าจำนวนนั้นเป็นเลข Woodall หรือไม่ เลข Woodall (Woodall number) เป็นประเภทของจำนวนพิเศษที่มีรูปแบบ: Wₙ = n·2ⁿ - 1 เลข Woodall 5 ตัวแรกคือ 1, 7, 23, 63, 159 ตัวอย่าง อินพุต X = 159 เอาต์พุต Yes เพื่อแก้ปัญหานี้ เราจะสังเกตจำนวน ถ้าจำนวนเป็นเลขคู่

  7. จำนวนวิธีเขียน N เป็นผลรวมของจำนวนเต็มบวกสองจำนวนขึ้นไปใน C++

    ในโจทย์นี้ เราได้รับจำนวนเต็ม n งานของเราคือหาจำนวนวิธีทั้งหมดที่มันสามารถแสดงเป็นผลรวมของจำนวนเต็มบวกสองจำนวนขึ้นไปได้ ตัวอย่าง อินพุต N = 4 เอาต์พุต 5 คำอธิบาย 4 สามารถเขียนเป็นผลรวมได้ในวิธีเหล่านี้: 4, 3+1, 2+2, 2+1+1, 1+1+1+1 เพื่อแก้ปัญหานี้ เราจะใช้ สูตรเวียนเกิดของออยเลอร์ (Eulers recurrenc

  8. จำนวนวิธีรวมได้ N ด้วยสมาชิกในอาเรย์ (允许重复) ใน C++

    ในโจทย์นี้ เราได้รับอาเรย์ของจำนวนเต็มและจำนวน N งานของเราคือนับจำนวนวิธีทั้งหมดที่ N สามารถสร้างได้โดยการบวกสมาชิกของอาเรย์ ทุกการจัดหมู่และการซ้ำได้รับอนุญาต ตัวอย่าง อินพุต arr = {1, 3, 5} N = 6 เอาต์พุต 8 คำอธิบาย วิธีต่างๆ คือ: 5+1, 1+5, 3+3, 3+1+1+1, 1+3+1+1, 1+1+3+1, 1+1+1+3, 1+1+1+1+1+1 เพื

  9. จำนวนวิธีเลือกคู่หนึ่งขึ้นไปจากเซตสองเซตที่ต่างกันใน C++

    ในโจทย์นี้ เราได้รับจำนวนบวกสองจำนวน n และ m (n ≤ m) ซึ่งเป็นจำนวนรายการทั้งหมดของเซตสองเซตตามลำดับ งานของเราคือหาจำนวนวิธีทั้งหมดในการเลือกคู่ (หนึ่งคู่ขึ้นไป) จากรายการของเซตเหล่านี้ ตัวอย่าง อินพุต 2 2 เอาต์พุต 6 คำอธิบาย เรามีเซตสองเซต ทั้งคู่มีสององค์ประกอบ Set A = {1, 2} Set B = {3, 4} วิธีจั

  10. จำนวนวิธีนำองค์ประกอบหนึ่งออกจาก Binary String ให้ XOR เป็นศูนย์ใน C++

    ในโจทย์นี้ เราได้รับ binary string งานของเราคือนับจำนวนวิธีทั้งหมดที่เราสามารถนำองค์ประกอบหนึ่งออก ได้ โดยที่ XOR จะกลายเป็นศูนย์ ตัวอย่าง อินพุต n = 11010 เอาต์พุต 3 เพื่อแก้ปัญหานี้ เราต้องใช้ตรรกะที่ว่า ถ้าจำนวน 1 เป็นจำนวนคู่ แล้ว XOR ของ string จะเป็น 0 มิฉะนั้น เราต้องนำ 1 ออกหนึ่งตัวจาก stri

  11. จำนวนวิธีวางสิ่งของในตำแหน่ง n² ให้แถว/คอลัมน์ไม่มีมากกว่าหนึ่งใน C++

    ในโจทย์นี้ เราได้รับจำนวนเต็ม n ซึ่งมีเส้นแนวตั้ง n เส้น และเส้นแนวนอน n เส้น วางไว้จนมีจุดตัด n² จุดระหว่างเส้นเหล่านี้ งานของเราคือหาจำนวนวิธีทั้งหมดที่จะวางสิ่งของ 4 ชิ้นบนจุดตัดเหล่านี้ โดยที่ไม่มีแถวและคอลัมน์ไหนมีสิ่งของมากกว่าหนึ่งชิ้น ตัวอย่าง อินพุต n = 4 เอาต์พุต 24 คำอธิบาย เพื่อแก้ปัญห

  12. จำนวนวิธีทาสีบันได 2 สี ให้ขั้นติดกันไม่เป็นสีเหลืองใน C++

    เราได้รับบันได n ขั้น และ 2 สี (แดงและเหลือง) ที่จะใช้ทาบันไดเหล่านี้ งานของเราคือนับจำนวนวิธีที่เราสามารถทาสีบันไดได้ โดยที่ไม่มีสองขั้นติดกันที่เป็นสีเหลือง ตัวอย่าง อินพุต 3 เอาต์พุต 5 คำอธิบาย วิธีที่บันไดสามารถทาสีได้คือ YRY, RYR, YRR, RRY, RRR ที่นี่ R แทนสีแดง, Y แทนสีเหลือง เพื่อแก้ปัญหานี้

  13. จำนวนวิธีทาสี N ภาพวาด ให้ภาพวาดติดกันไม่มีสีเดียวกันใน C++

    ในโจทย์นี้ เราได้รับจำนวนเต็มสองจำนวน n และ m โดยที่ n คือจำนวนภาพวาด และ m คือจำนวนสีที่มีอยู่ งานของเราคือสร้างโปรแกรมหาจำนวนวิธีทั้งหมดที่เราสามารถทาสีภาพวาดได้ โดยที่ไม่มีภาพวาดติดกันสองภาพที่มีสีเดียวกัน ตัวอย่าง อินพุต n = 3, m = 3 เอาต์พุต 12 คำอธิบาย P1 P2 P3 C1 C2 C3 C1 C3 C2 C1 C2 C1 C1 C

  14. จำนวนวิธีคูณ n องค์ประกอบด้วยการดำเนินการแบบอссоциаทีฟ (Associative) ใน C++

    ในโจทย์นี้ เราได้รับจำนวนเต็ม n ซึ่งเป็นจำนวนองค์ประกอบ งานของเราคือสร้างโปรแกรมนับจำนวนวิธีในการคูณ n องค์ประกอบด้วยการดำเนินการแบบ associative การดำเนินการแบบ Associative (Associative operations) ให้ผลลัพธ์เดียวกันไม่ว่าจะจัดเรียงตัวเลขอย่างไร ตัวอย่าง อินพุต 3 เอาต์พุต 12 คำอธิบาย (x*(y*z)), (x*

  15. แอตทริบิวต์ (Attributes) ใน C++

    แอตทริบิวต์ (Attributes) เป็นวิธีสมัยใหม่ใน C++ เพื่อทำให้โค้ดมาตรฐาน หากโค้ดรันบนคอมไพลอร์ต่างกัน Attributes ใช้ให้ข้อมูลเพิ่มเติมที่ใช้บังคับ เงื่อนไข (constraints), เพิ่มประสิทธิภาพ (optimization) และสร้างโค้ดเฉพาะ (specific code generation) หากจำเป็น เหมือนคู่มือข้อมูลสำหรับคอมไพลอร์ เพื่อบังคั

  16. พื้นฐานการจัดการไฟล์ (File Handling) ในภาษา C

    การจัดการไฟล์ (File Handling) คือ การจัดเก็บข้อมูลในไฟล์โดยใช้โปรแกรม ในภาษา C โปรแกรมจะจัดเก็บผลลัพธ์และข้อมูลอื่นๆ ของโปรแกรมลงในไฟล์โดยใช้ file handling ใน C เรายังสามารถดึง/เรียกข้อมูลจากไฟล์มาใช้งานในโปรแกรมได้อีกด้วย การดำเนินการที่คุณสามารถทำกับไฟล์ใน C มีดังนี้: สร้างไฟล์ใหม่ เปิดไฟล์ที่มี

  17. ทฤษฎีเบย์สำหรับความน่าจะเป็นแบบมีเงื่อนไขใน C/C++

    ความน่าจะเป็นแบบมีเงื่อนไข (Conditional Probability) ที่แทนด้วย P(A|B) คือ ความน่าจะเป็นของการเกิดเหตุการณ์ A โดยที่เหตุการณ์ B ได้เกิดขึ้นแล้ว สูตรความน่าจะเป็นแบบมีเงื่อนไข: P(A|B) = P(A⋂B) / P(B) ทฤษฎีของเบย์ (Bayes Theorem) เป็นสูตรที่แสดงความสัมพันธ์ระหว่างความน่าจะเป็นของการเกิดเหตุการณ์ที่ขึ

  18. อัลกอริทึมของเบอร์เกลีย์ (Berkeley's Algorithm) ใน C/C++

    อัลกอริทึมของเบอร์เกลีย์ (Berkeleys Algorithm) เป็นอัลกอริทึมที่ใช้สำหรับซิงโครไนซ์นาฬิกา (clock synchronization) ในระบบกระจาย (distributed systems) อัลกอริทึมนี้ใช้ในกรณีที่ระบบบางส่วนหรือทั้งหมดในเครือข่ายกระจายมีปัญหาดังนี้: A. เครื่องไม่มีแหล่งเวลาที่แม่นยำ B. เครือข่ายหรือเครื่องไม่มีเซิร์ฟเว

  19. สมมติฐานของเบอร์ทรานด์ (Bertrand's Postulate) ใน C++

    สมมติฐานของเบอร์ทรานด์ (Bertrands Postulate) เป็นข้อความทางคณิตศาสตร์ ที่ระบุว่า สำหรับทุกจำนวน n > 3 จะมีจำนวนเฉพาะ p อยู่ระหว่าง n และ 2n-2 เสมอ สูตรของ Bertrands Postulate n < p < 2n - 2 โดยที่ n เป็นจำนวนที่ n > 3 และ p เป็นจำนวนเฉพาะ จำนวนเฉพาะ (Prime number) - จำนวนที่มีตัวประกอบเพียง 1

  20. ฟังก์ชัน beta(), betaf() และ betal() ใน C++ STL

    ฟังก์ชัน beta(), betaf() และ betal() เป็นฟังก์ชันในตัว (built-in) ใน Standard Template Library (STL) ของ C++ ฟังก์ชันเหล่านี้ใช้คำนวณฟังก์ชัน beta ของจำนวนจริงบวกสองจำนวน สูตรฟังก์ชัน Beta: $B(x,y)=\int_{0}^{1}t^{(x-1)}(1-t)^{(y-1)}dt$ beta() ฟังก์ชัน beta() ใช้กับชนิดข้อมูล double รับพารามิเตอร์แบ

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:192/301  20-คอมพิวเตอร์/Page Goto:1 186 187 188 189 190 191 192 193 194 195 196 197 198