Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. ประโยชน์ของ Inline Functions ใน C++

    บทนำ Inline function ใน C++ เป็นแนวคิดที่ทรงพลังและมักใช้กับคลาส หากฟังก์ชันเป็น inline คอมไพเลอร์จะวางโค้ดของฟังก์ชันนั้นที่ทุกจุดที่เรียกใช้ในขณะคอมไพล์ การเปลี่ยนแปลง inline function อาจต้องคอมไพล์ไคลเอนต์ทั้งหมดใหม่ เพราะคอมไพเลอร์ต้องแทนที่โค้ดอีกครั้ง มิฉะนั้นจะยังคงทำงานแบบเดิม เพื่อทำให้ฟั

  2. การตรวจสอบว่า double (หรือ float) เป็น NaN ใน C++

    บทนำ เพื่อตรวจสอบว่าตัวเลขจุดลอยตัวหรือ double เป็น NaN (Not a Number) ใน C++ เราสามารถใช้ฟังก์ชัน isnan() ได้ ฟังก์ชัน isnan() อยู่ในไลบรารี cmath ฟังก์ชันนี้เพิ่มเข้ามาตั้งแต่ C++11 ดังนั้นจาก C++11 เป็นต้นไปสามารถใช้ได้ ตัวอย่างโค้ด #include <cmath> #include <iostream> using namespac

  3. การคืนค่าหลายค่าจากฟังก์ชัน C++

    บทนำ ใน C หรือ C++ เราไม่สามารถคืนค่าหลายค่าจากฟังก์ชันได้โดยตรง ในส่วนนี้เราจะดูวิธีใช้เทคนิคเพื่อคืนค่ามากกว่าหนึ่งค่า เราสามารถคืนค่าหลายค่าได้โดยใช้วิธี call by address หรือ call by reference ในฟังก์ชันเรียกใช้ เราจะใช้ตัวแปรสองตัวเก็บผลลัพธ์ และฟังก์ชันจะรับพอยน์เตอร์ ดังนั้นต้องส่งที่อยู่ของข

  4. วิธีสร้างเลขสุ่มที่ต่างกันในลูปด้วย C++

    บทนำ มาดูวิธีสร้างเลขสุ่มที่ต่างกันโดยใช้ C++ ที่นี่เราสร้างเลขสุ่มในช่วง 0 ถึงค่าสูงสุด (ในโปรแกรมนี้คือ 100) การใช้งาน srand() เราใช้ฟังก์ชัน srand() จากไลบรารี C++ ฟังก์ชัน void srand(unsigned int seed) ใช้สำหรับ seed ให้กับตัวสร้างเลขสุ่มที่ใช้โดย rand() void srand(unsigned int seed) รับพาราม

  5. ความแตกต่างระหว่าง void main และ int main ใน C/C++

    บทนำ บางครั้งเราใช้ int main() บางครั้งใช้ void main() คำถามคือ ความแตกต่างระหว่างสองอย่างนี้คืออะไร คำอธิบาย ฟังก์ชัน main() คล้ายกับฟังก์ชันอื่นๆ มันรับอาร์กิวเมนต์และคืนค่า สิ่งสำคัญคือโปรแกรมเริ่มทำงานจาก main() นี้ ระบบปฏิบัติการเป็นผู้เรียกฟังก์ชันนี้ เมื่อมีการคืนค่าจาก main() ค่าจะถูกส่งกลั

  6. วิธีหา IP Address ของคอมพิวเตอร์โลคอลด้วย C/C++

    บทนำ ในส่วนนี้เราจะดูวิธีดูชื่อโฮสต์ (Host name) และ IP Address ของระบบโลคอลอย่างง่าย เราจะเขียนโปรแกรม C เพื่อหาชื่อโฮสต์และ IP ฟังก์ชันที่ใช้ ลำดับ ฟังก์ชันและคำอธิบาย 1 gethostname()หาชื่อโฮสต์มาตรฐานของคอมพิวเตอร์โลคอล 2 gethostbyname()หาข้อมูลโฮสต์ที่สอดคล้องกับชื่อโฮสต์จากฐานข้อมูลโฮ

  7. โปรแกรม C++ ตรวจสอบกราฟไม่มีทิศทางเป็นต้นไม้ (Tree) ด้วย DFS

    บทนำ กราฟจะเป็นต้นไม้ (Tree) ถ้าไม่มีวงจร (Cycle) นี่คือโปรแกรม C++ ตรวจสอบว่ากราฟไม่มีทิศทางเป็นต้นไม้หรือไม่ อัลกอริทึม Begin function cyclicUtil(): A) ทำเครื่องหมายโหนดปัจจุบันว่าเยี่ยมชมแล้ว B) เรียกซ้ำสำหรับทุกโหนดที่ติดกับโหนดนี้ C) ถ้าโหนดติดกันยังไม่ถูกเยี่ยมชม ให้เรียกซ้ำสำหรับโหนดนั

  8. โปรแกรม C++ ตรวจสอบกราฟมีทิศทางเป็นต้นไม้ (Tree) ด้วย DFS

    บทนำ กราฟจะเป็นต้นไม้ (Tree) ถ้าไม่มีวงจร (Cycle) นี่คือโปรแกรม C++ ตรวจสอบว่ากราฟมีทิศทางเป็นต้นไม้หรือไม่โดยใช้ DFS อัลกอริทึม Begin function cyclicUtil(): a) ทำเครื่องหมายโหนดปัจจุบันว่าเยี่ยมชมแล้วและอยู่ใน recursion stack b) เรียกซ้ำสำหรับทุกโหนดที่ติดกับโหนดนี้ c) นำโหนดออกจาก recursion

  9. โปรแกรม C++ ลบเส้นเชื่อมในกราฟวน (Cyclic Graph) เพื่อหา Linear Extension

    บทนำ ในโปรแกรมนี้เราจะหา Feedback Arc Set ซึ่งเป็นชุดของเส้นเชื่อมที่เมื่อลบออกจากกราฟ จะทำให้กราฟกลายเป็น Directed Acyclic Graph (DAG) อัลกอริทึม next คืนค่า 1 End ตัวอย่างโค้ด C++ #include <iostream> using namespace std; int c = 0; struct ad_list { int des; ad_list *next; } *np

  10. โปรแกรม C++ หา Transitive Closure ของกราฟ G

    บทนำ ถ้ามีกราฟมีทิศทาง ให้ตรวจสอบว่าโหนด j เข้าถึงได้จากโหนด i สำหรับทุกคู่ (i, j) ในกราฟ การเข้าถึงได้หมายถึงมีเส้นทางจาก i ไป j เมทริกซ์การเข้าถึงนี้เรียกว่า Transitive Closure ของกราฟ อัลกอริทึม Warshall มักใช้หา Transitive Closure นี่คือโปรแกรม C++ ที่นำอัลกอริทึมนี้ไปใช้ อัลกอริทึม Begin 1.

  11. โปรแกรม C++ ตรวจสอบกราฟ Bipartite ด้วยอัลกอริทึม 2 สี (2 Color Algorithm)

    บทนำ กราฟ Bipartite คือกราฟที่สามารถระบายสีได้ด้วย 2 สี โดยจุดในเซตเดียวกันจะมีสีเหมือนกัน นี่คือโปรแกรม C++ ตรวจสอบว่ากราฟเป็น Bipartite หรือไม่โดยใช้อัลกอริทึม 2 สี ฟังก์ชันและ Pseudocode Begin 1. ฟังก์ชัน isSafe() ตรวจสอบว่าการกำหนดสีปัจจุบันปลอดภัยสำหรับโหนด v 2. ฟังก์ชัน graphColoringtil(b

  12. โปรแกรม C++ ตรวจสอบกราฟ Bipartite ด้วย BFS

    บทนำ กราฟ Bipartite คือกราฟที่สามารถระบายสีได้ด้วย 2 สี โดยจุดในเซตเดียวกันจะมีสีเหมือนกัน นี่คือโปรแกรม C++ ตรวจสอบว่ากราฟเป็น Bipartite หรือไม่โดยใช้ BFS อัลกอริทึม Begin Function Bipartite(): 1) กำหนดสีให้โหนดต้นทาง 2) ระบายสีเพื่อนบนทั้งหมดด้วยสีอีกสีหนึ่ง 3) ระบายสีเพื่อนบนของเพื

  13. โปรแกรม C++ ตรวจสอบกราฟ Bipartite ด้วย DFS

    บทนำ กราฟ Bipartite คือกราฟที่สามารถระบายสีได้ด้วย 2 สี โดยจุดในเซตเดียวกันจะมีสีเหมือนกัน นี่คือโปรแกรม C++ ตรวจสอบว่ากราฟเป็น Bipartite หรือไม่โดยใช้ DFS อัลกอริทึม Begin 1. อาร์เรย์ color[] เก็บ 0 หรือ 1 สำหรับทุกโหนด แทนสีตรงข้าม 2. เรียกฟังก์ชัน DFS จากโหนดใดก็ได้ 3. ถ้าโหนด w ยังไม่ถูกเ

  14. โปรแกรม C++ หาค่าผกผันของเมทริกซ์กราฟ (Graph Matrix)

    บทนำ นี่คือโปรแกรม C++ สำหรับหาค่าผกผันของเมทริกซ์กราฟ ค่าผกผันของเมทริกซ์มีอยู่ก็ต่อเมื่อเมทริกซ์นั้นเป็น non-singular คือ determinant ไม่เป็นศูนย์ วิธีหาค่าผกผันมีหลายวิธี ตัวอย่างนี้ใช้ adjoint matrix และ determinant ขั้นตอนการทำงาน Begin function INV() หาค่าผกผันของเมทริกซ์: เรียกฟังก์ชัน

  15. โปรแกรม C++ ใช้ DFS ทำจัดลำดับโพสตะลิส (Topological Sort) ของกราฟมีทิศทางไม่มีวงจร (DAG)

    บทนำ การจัดลำดับโพสตะลิส (Topological Sorting) ของกราฟมีทิศทางไม่มีวงจร (DAG) คือการเรียงลำดับจุดยอด (vertices) แบบเส้นตรง โดยที่สำหรับทุกเส้นเชื่อมทิศทาง uv จุด u จะมาก่อนจุด v ในลำดับนั้น หากกราฟไม่ใช่ DAG การจัดลำดับโพสตะลิสจะทำไม่ได้ ฟังก์ชันและ Pseudocode Begin function topologicalSort():

  16. โปรแกรม C++ ตรวจสอบ Hamiltonian Cycle หรือ Path ในกราฟ

    Hamiltonian cycle คือ Hamiltonian Path ที่มีขอบ (ในกราฟ) จากโหนดสุดท้ายไปโหนดแรกของ Hamiltonian Path ใน undirected graph เป็น path ที่เยี่ยมชมแต่ละโหนดของกราฟครั้งเดียวพอดี ฟังก์ชันและวัตถุประสงค์ Begin 1. function isSafe() ตรวจสอบว่าติดกับโหนดที่เพิ่มไปก่อนหน้า และยังไม่ถูกเพิ่ม 2. function ha

  17. โปรแกรม C++ ตรวจสอบ Weakly Connected หรือ Strongly Connected สำหรับ Directed Graph

    Weakly หรือ Strongly Connected สำหรับ directed graph ที่กำหนด สามารถหาได้ด้วย DFS นี่คือโปรแกรม C++ สำหรับปัญหานี้ ฟังก์ชันที่ใช้ Begin Function fillorder() = เติม stack ด้วยโหนดทั้งหมด a) ทำเครื่องหมายโหนดปัจจุบัน visited และพิมพ์ b) Recur สำหรับโหนดติดกันทั้งหมด c) โหนดที่เข้าถึงได้

  18. โปรแกรม C++ หา Chromatic Index ของ Cyclic Graphs

    Chromatic index คือจำนวนสีสูงสุดที่ต้องใช้สำหรับ edge coloring ของกราฟที่กำหนด นี่คือโปรแกรม C++ หา Chromatic Index ของ Cyclic Graphs อัลกอริทึม Begin รับจำนวนโหนด n และจำนวนขอบ e รับ e คู่โหนดสำหรับ e ขอบใน edge[][] Function ChromaticIndex() ระบายสีขอบกราฟ: A) กำหนดสีให้ขอบปัจจุบันเป็น c

  19. โปรแกรม C++ หาจุด Articulation Points ในกราฟ

    Articulation Points (หรือ Cut Vertices) ในกราฟ คือจุดที่ถ้าลบออก (รวมขอบที่ผ่าน) จะทำให้กราฟ disconnected Articulation point สำหรับ undirected graph ที่ disconnected คือโหนดที่ถ้าลบออกจะเพิ่มจำนวน connected components อัลกอริทึม Begin ใช้ dfs หา articulation point: ใน DFS โหนด w เป็น articulati

  20. โปรแกรม C++ หาเส้นทางระหว่างสองโหนดในกราฟ

    ในโปรแกรมนี้สามารถหาได้ว่าเส้นทางมีอยู่ระหว่างสองโหนดหรือไม่ โดยใช้ DFS บนกราฟที่กำหนด อัลกอริทึม Begin function isReach() เป็น recursive function ตรวจสอบว่า d เข้าถึงได้จาก s: A) ทำเครื่องหมายโหนดทั้งหมดว่า unvisited B) ทำเครื่องหมายโหนดปัจจุบัน visited และ enqueue ใช้เพื่อดึงโหนดติดกันท

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:49/301  20-คอมพิวเตอร์/Page Goto:1 43 44 45 46 47 48 49 50 51 52 53 54 55