Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. static const vs #define vs enum ใน C++: ความแตกต่างและการใช้งาน

    static const static const เป็นการรวมของ static (storage specifier) และ const (type qualifier) static กำหนดอายุการใช้งานและการมองเห็น/เข้าถึงของตัวแปร หมายถึงถ้าตัวแปรประกาศเป็น static จะอยู่ในหน่วยความจำตลอดเวลาที่โปรแกรมทำงาน ในขณะที่ตัวแปรปกติหรือ auto จะถูกทำลายเมื่อฟังก์ชัน (ที่ตัวแปรถูกกำหนด) จ

  2. โปรแกรม C++ สำหรับ Cycle Sort (การเรียงแบบวัฏจักร)

    Cycle Sort เป็นอัลกอริทึมการเรียงแบบ in-place, unstable sorting algorithm, comparison sort ที่เหมาะที่สุดในทางทฤษฎีจากมุมมองของจำนวนการเขียน (writes) ลงอาร์เรย์ต้นฉบับ นี่แตกต่างจากอัลกอริทึมเรียง in-place ทุกตัวอย่าง มันอิงตามแนวคิดว่า permutation ที่ต้องการเรียงสามารถแยกเป็น cycles ได้ ซึ่งแต่ละ c

  3. โปรแกรม C++ หาผลรวมกำลังสามของ n จำนวนธรรมชาติแรก

    จำนวนเต็มบวก 1, 2, 3, 4... เรียกว่าจำนวนธรรมชาติ (natural numbers) โปรแกรมนี้รับจำนวนเต็มบวกจากผู้ใช้ (สมมติผู้ใช้ป้อน n) แล้วโปรแกรมจะแสดงค่าของ 1³ + 2³ + 3³ + ... + n³ Input: n = 3 Output: 36 คำอธิบาย 1³ + 2³ + 3³ = 1 + 8 + 27 = 36 โปรแกรมนี้รับจำนวนเต็มบวกจากผู้ใช้ (สมมติผู้ใช้ป้อน n) แล้วโปรแกรม

  4. โปรแกรม C++ ตรวจสอบว่าเลขเป็นกำลังของ 2 หรือไม่

    ตรวจสอบว่าตัวเลขที่กำหนดเป็นกำลังของ 2 หรือไม่ ก่อนอื่นดูว่าตัวเลขไหนเป็นกำลังของ 2 โค้ดนี้ตรวจสอบว่าเลขเป็นคี่หรือไม่ แล้วหารซ้ำจนกลายเป็น 0 หรือคี่ ถ้ากลายเป็น 0 แสดงว่าเป็นกำลังของ 2 มิฉะนั้นไม่ใช่ วิธีที่ดีกว่าคือการหา log ของตัวเลข ถ้าเป็นจำนวนเต็ม แสดงว่า n เป็นกำลังของ 2 มิฉะนั้นไม่ใช่ ตัวเลข

  5. โปรแกรม C++ ลบช่องว่างออกจากสตริง (String)

    โปรแกรมรับสตริงและลบช่องว่างออกจากมัน นี่มีประโยชน์เมื่อเราต้องการประหยัดพื้นที่ ตัวอย่างต่อไปนี้แสดงวิธีการทำพร้อมคำอธิบาย Input: Hello World Output: HelloWorld คำอธิบาย เพื่อลบช่องว่างจากสตริงหรือประโยค คุณต้องขอให้ผู้ใช้ป้อนสตริง ตอนนี้เริ่มตรวจสอบช่องว่าง หากพบช่องว่าง ให้นำตัวอักษรถัดไปจากช่องว

  6. คีย์เวิร์ด Mutable ใน C++ คืออะไร?

    ที่นี่เราจะดูว่า mutable keyword ใน C++ คืออะไร mutable เป็นหนึ่งใน storage class ใน C++ สมาชิกข้อมูล mutable เป็นสมาชิกที่สามารถเปลี่ยนแปลงได้ตลอดเวลา แม้ว่าออบเจ็กต์จะเป็น const type เมื่อเราต้องการให้สมาชิกเพียงตัวเดียวเป็นตัวแปรและอีกตัวเป็นค่าคงที่ เราสามารถทำให้มันเป็น mutable ได้ มาดูตัวอย่าง

  7. C++ vs Java vs Python: เปรียบเทียบภาษาโปรแกรม 3 ตัวอันดับนำ

    ที่นี่เราจะดูความแตกต่างพื้นฐานระหว่าง C++, Java และ Python ก่อนจะดูความแตกต่างระหว่าง C++ และ Java แล้วตามด้วย Java และ Python หัวข้อ C++ Java การจัดการหน่วยความจำ ใช้ pointers, structures, unions และ references ไม่รองรับ pointers รองรับ references รองรับ Threads, interfaces ไลบรารี ไลบราร

  8. พิมพ์โหนดใบ (Leaf Nodes) ใน Binary Tree จากซ้ายไปขวา ใช้ Stack เดียวใน C++

    โปรแกรมควรพิมพ์โหนดใบของ Binary Tree จากซ้ายไปขวา แต่ข้อท้าทายคือต้องใช้ Stack เพียงอันเดียว ผ่านฟังก์ชัน push() แทรกโหนดของ Binary Tree และผ่าน pop() แสดงโหนดใบ โหนดใบ (Leaf nodes) คือโหนดปลายที่ left และ right pointer เป็น NULL หมายถึงโหนดนั้นไม่ใช่โหนดผู้ปกครอง (parent node) ตัวอย่าง Input: 12 21

  9. พิมพ์ Level Order Traversal แบบบรรทัดต่อบรรทัดใน C++

    กำหนด Binary Tree ฟังก์ชันต้องหา Level Order Traversal ของต้นไม้แบบบรรทัดต่อบรรทัด (line by line) Level Order Traversal: ซ้าย-ราก-ขวา (Left Root Right) หมายถึงพิมพ์ลูกซ้ายของโหนดก่อน แล้วค่าของราก แล้วไปลูกขวา แต่ที่นี่เราต้องทำแบบบรรทัดต่อบรรทัด เริ่มจากซ้ายจนถึงขวาของ Binary Tree ที่กำหนด Binary

  10. พิมพ์จำนวน Set Bits ในแต่ละโหนดของ Binary Tree ใน C++

    กำหนด Binary Tree ฟังก์ชันจะสร้างค่าไบนารีของคีย์ที่จัดเก็บในโหนด และส่งคืนจำนวนบิตที่ตั้งค่าเป็น 1 (set bits) ในค่าไบนารีนั้น ตัวอย่าง Binary tree ที่มีคีย์: 10, 3, 211, 140, 162, 100, 146 คีย์ (Key) ค่าไบนารี (Binary) Set Bits (ผลลัพธ์) 10 1010 2 3 0011 2 211 11010011 5 140 10001100

  11. พิมพ์ระดับ (Level) ของทุกโหนดใน Binary Tree ด้วย C++

    กำหนด Binary Tree ภารกิจคือพิมพ์ระดับที่เกี่ยวข้องกับแต่ละคีย์ที่จัดเก็บในโหนด เริ่มจาก 1 ถึง n ในต้นไม้ข้างต้น โหนดต่างๆ คือ: 10 อยู่ระดับ 1 3 และ 211 อยู่ระดับ 2 140, 162, 100 และ 146 อยู่ระดับ 3 เมื่อได้รับคีย์ โปรแกรมต้องพิมพ์ระดับของคีย์นั้นๆ ตัวอย่าง Input: 10 3 211 140 162 100 146 Output:

  12. พิมพ์โหนดที่ระดับคี่ (Odd Levels) ของต้นไม้ใน C++

    กำหนด Binary Tree โปรแกรมต้องพิมพ์โหนดที่อยู่ในระดับคี่ (odd levels) ของต้นไม้ โดยระดับของ Binary Tree เริ่มจาก 1 ถึง n เนื่องจากไม่ได้ระบุวิธีการ สามารถใช้ได้ทั้ง Recursion และ Iteration เนื่องจากเราใช้แนวทาง Recursive โปรแกรมจะเรียกฟังก์ชันแบบ Recursive ที่จะดึงโหนดในระดับคี่และส่งคืน ใน Binary T

  13. พิมพ์เส้นทาง Root-to-Leaf ทั้งหมดใน Binary Tree โดยไม่ใช้ Recursion ใน C++

    กำหนด Binary Tree โปรแกรมต้องหาเส้นทางหลายเส้นทางจากรากไปยังใบ (root-to-leaf) หมายถึงพิมพ์เส้นทางทั้งหมด แต่ข้อท้าทายคือต้องทำโดยไม่ใช้ Recursion เราจะท่องต้นไม้แบบ Iterative เนื่องจากข้อจำกัดคือห้ามใช้ Recursion เพื่อให้บรรลุเป้าหมายนี้ เราสามารถใช้ STL map ที่จะจัดเก็บโหนดราก (root element) และเมื

  14. พิมพ์เส้นทาง Root-to-Leaf ที่สั้นที่สุดและอยู่ซ้ายสุดใน Binary Tree ด้วย C++

    กำหนด Binary Tree โปรแกรมต้องหาเส้นทางจากรากไปยังใบ (root-to-leaf) ที่สั้นที่สุดจากหลายเส้นทางที่มีอยู่ เนื่องจากเราท่องต้นไม้จากซ้ายไปขวา หากมีเส้นทางสั้นที่สุดหลายเส้นทาง โปรแกรมจะพิมพ์เส้นทางแรกที่ถูกท่องซึ่งเป็นเส้นทางสั้นที่สุดทางด้านซ้ายของต้นไม้ เราสามารถใช้คิว (queue) ที่จะท่องแต่ละระดับด้วย

  15. พิมพ์เส้นทางระหว่างโหนดสองตัวใน Binary Tree ด้วย C++

    เราได้รับ Binary Tree ที่มีโหนดต่างกันทั้งหมด และมีโหนดสองตัวที่ต้องการพิมพ์เส้นทางระหว่างกันใน Binary Tree ตัวอย่าง - ต้องการพิมพ์เส้นทางจากโหนด 140 ไป 211 ผลลัพธ์ควรเป็น: Output: 140->3->10->211 แนวคิดคือหาเส้นทางจากโหนดราก (root) ไปยังโหนดทั้งสอง และเก็บไว้ในสองเวกเตอร์/อาร์เรย์ คือ pat

  16. พิมพ์โหนดของ Binary Tree ตามลำดับที่กลายเป็น Leaf Node ใน C++

    กำหนด Binary Tree เราต้องพิมพ์โหนดใบ (leaf nodes) แล้วลบโหนดใบเหล่านั้นออก แล้วทำซ้ำจนไม่มีโหนดเหลือในต้นไม้ ตัวอย่าง ดังนั้นผลลัพธ์ควรเป็น: 6 7 9 13 14 3 4 2 1 แนวทาง เราใช้แนวทาง DFS (Depth First Search) กำหนดค่าเริ่มต้นเป็นศูนย์ให้ทุกโหนด แล้วกำหนดค่าให้โหนดทุกตัวเป็น max(ค่าของลูกทั้งสอง) + 1

  17. ความแตกต่างระหว่าง Continue และ Break ใน Java

    ในการเขียนโปรแกรม การรันโค้ดทำทีละบรรทัด เพื่อเปลี่ยนแปลงการไหลนี้ Java (และ C++) มีคำสั่ง break และ continue ซึ่งใช้หลักเพื่อข้ามโค้ดบางส่วนในบรรทัดเฉพาะ ความแตกต่างสำคัญระหว่าง continue และ break: ลำดับ หัวข้อ Break Continue 1 หน้าที่ ใช้ยุติลูปที่ครอบคลุม เช่น while, do-while, for หรือ swi

  18. คำถามสัมภาษณ์ C++ เรื่อง Virtual Function และ Abstract Class

    Virtual Function คืออะไร? Virtual function เป็นเมธอดที่ไม่มีการกำหนดคำจำกัดความ (definition) เมื่อถูกกำหนดในคลาสฐาน (base class) เมธอดนี้ถูกเว้นว่างไว้ในคลาสผู้ปกครอง และจะถูกกำหนดคำจำกัดความใหม่ (redefined) ในคลาสลูก (child class) Abstract Class คืออะไร? Abstract class คือคลาสที่มีสมาชิกแอブストรักต์

  19. C++ Map ที่ใช้ Key เป็น User-defined Data Type

    Map เป็นโครงสร้างข้อมูลที่จัดเก็บข้อมูลในรูปแบบคีย์-ค่า (key-value pairs) ใน C++ map ถูกกำหนดใน STL (Standard Template Library) และจัดเก็บคีย์ในรูปแบบที่เรียงลำดับแล้ว Syntax การกำหนด map: map<key_type, value_type> map_name; ชนิดข้อมูลของคีย์หรือค่าใน map สามารถเป็นชนิดข้อมูล أيได้ ไม่ว่าจะเป็

  20. ฟังก์ชันทางคณิตศาสตร์ใน C++ (Mathematical Functions)

    การคำนวณทางคณิตศาสตร์ใน C++ สามารถทำได้โดยใช้ฟังก์ชันทางคณิตศาสตร์ที่อยู่ในไลบรารี math หรือ cmath ฟังก์ชันเหล่านี้ถูกกำหนดเพื่อทำการคำนวณทางคณิตศาสตร์ที่ซับซ้อน มาเรียนรู้แต่ละฟังก์ชันทีละตัว sin (ไซน์) เมธอด sin ใช้คำนวณไซน์ของมุมที่ให้มาเป็นอาร์กิวเมนต์ในหน่วยองศา ฟังก์ชันนี้รับอาร์กิวเมนต์ doubl

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:70/301  20-คอมพิวเตอร์/Page Goto:1 64 65 66 67 68 69 70 71 72 73 74 75 76