Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. โปรแกรม C++ หา SSSP (Single Source Shortest Path) ใน DAG

    นี่คือโปรแกรม C++ หา SSSP (Single Source Shortest Path) ใน DAG (Directed Acyclic Graphs) ใช้ Dijkstra Algorithm หาเส้นทางสั้นที่สุดจากโหนดแรกไปทุกโหนดอื่น พร้อมแสดงความยาวเส้นทาง อัลกอริทึม Begin รับองค์ประกอบของกราฟ function shortestpath(): เริ่มต้นตัวแปร a[i] = 1 d[i] = 0 s[i]

  2. โปรแกรม C++ หา Edge Connectivity ของกราฟ

    ในโปรแกรมนี้ต้องหา Edge Connectivity ของกราฟ Edge Connectivity หมายถึงเป็น bridge การลบออกจะทำให้กราฟ disconnected จำนวน connected components เพิ่มขึ้นเมื่อลบ bridge ใน undirected graph ที่ disconnected ฟังก์ชันและ Pseudocode Begin Function connections() เป็น recursive function หาการเชื่อมต่อ:

  3. โปรแกรม C++ สร้างทุกเซตย่อยของเซตที่กำหนดตามลำดับ Lexicographic

    นี่คือโปรแกรม C++ สร้างทุกเซตย่อย (subsets) ของเซตที่กำหนดตามลำดับ Lexicographic อัลกอริทึมพิมพ์การจัดหมู่ที่เป็นไปได้ทุกความยาวจากอาเรย์ที่กำหนดในลำดับเพิ่มขึ้น ความซับซ้อนด้านเวลา O(n * 2^n) อัลกอริทึม Begin สำหรับแต่ละความยาว i เรียก GenAllSubset(): 1) ใน GenAllSubset() ถ้า currLen มากกว่า

  4. โปรแกรม C++ ใช้ Heuristic หา Vertex Cover ของกราฟ

    Vertex Cover ของกราฟ คือการหาชุดโหนด V ที่สำหรับทุกขอบเชื่อม M ถึง N ในกราฟ M หรือ N (หรือทั้งคู่) อยู่ใน V โปรแกรมนี้ใช้ Heuristic หา Vertex Cover อัลกอริทึม Begin 1) เริ่มต้นเซต S ว่าง 2) เลือกขอบ E ของกราฟเชื่อม M และ N 3) เพิ่มโหนดทั้งสองเข้าเซต S 4) ทิ้งขอบทั้งหมดที่ปลายเป็น M หรือ N

  5. โปรแกรม C++ ทำ Edge Coloring ของกราฟ

    ในโปรแกรมนี้จะทำ Edge Coloring ของกราฟ ซึ่งต้องระบายสีขอบของกราฟโดยที่ขอบที่อยู่ติดกันไม่มีสีเหมือนกัน อัลกอริทึม Begin รับจำนวนโหนด n และจำนวนขอบ e กราฟเก็บเป็น adjacency list BFS ใช้ queue และกำหนดสีให้แต่ละขอบ End ตัวอย่างโค้ด #include <bits/stdc++.h> using namespace std; int n, e,

  6. โปรแกรม C++ ทำ Edge Coloring บน Complete Graph

    Complete graph คือกราฟที่มีขอบเชื่อมระหว่างคู่โหนดใดๆ นี่คือโปรแกรม C++ ทำ Edge Coloring บน Complete Graph อัลกอริทึม Begin รับจำนวนโหนด n สร้าง complete graph โดยใช้ e = n*(n-1)/2 ขอบ ใน ed[][] Function EdgeColor() ใช้ระบายสีขอบกราฟ A) กำหนดสีให้ขอบปัจจุบันเป็น c คือ 1 เริ่มต้น B) ถ้

  7. วิธีเขียน Short Literal ใน C++

    นี่คือรูปแบบ short literal ใน C++ ใน C หรือ C++ ชนิดข้อมูลต่างๆ มี literals ต่างกัน รายการด้านล่าง Sr.No Datatypes & Literals 1int5 2unsigned int5U 3Long5L 4long long5LL 5float5.0f 6double5.0 7char\5 มี int, long, float, double แต่ไม่มี short literal ดังนั้นไม่สามารถใช้ literal สำหรับ

  8. Enum vs Const vs #define ใน C/C++

    นี่คือความแตกต่างระหว่าง enum, const และ #define ในโปรแกรม C หรือ C++ สร้างความสับสนเมื่อต้องตัดสินใจเลือก มาดูว่าทั้งสามคืออะไร const หรือ static const const เป็นข้อมูลแบบคงที่ static const คือคงที่แต่ storage specifier เป็น static จะคงอยู่จนโปรแกรมจบ และข้อมูลแบบคงที่ไม่สามารถอัปเดตได้ ตัวอย่าง

  9. Macros และ Preprocessors ใน C

    C Preprocessor ไม่ใช่ส่วนของคอมไพเลอร์ แต่เป็นขั้นตอนแยกต่างหากในกระบวนการคอมไพล์ อย่างง่าย C Preprocessor เป็นเครื่องมือแทนที่ข้อความ (text substitution) สั่งให้คอมไพเลอร์ทำ pre-processing ก่อนคอมไพล์จริง เรียกว่า CPP คำสั่ง preprocessor ทั้งหมดขึ้นต้นด้วย # ต้องเป็นตัวอักษรแรกที่ไม่ใช่ blank และเ

  10. การจัดเรียงโครงสร้าง (Structure Sorting) ใน C++

    นี่คือวิธีจัดเรียง (sorting) ตามเงื่อนไขบนตัวแปรสมาชิกของโครงสร้าง (structure) ใน C++ ตัวอย่างใช้โครงสร้างชื่อ book เก็บชื่อ จำนวนหน้า และราคา จัดเรียงตามราคา เพื่อเปรียบเทียบโครงสร้างสองตัว ต้องกำหนดฟังก์ชันเปรียบเทียบ ฟังก์ชันนี้ใช้ภายใน sort function เพื่อจัดเรียงค่า ตัวอย่าง #include <iost

  11. Type Cast ใน C/C++ คืออะไร?

    Type casting เป็นวิธีแปลงตัวแปรจากชนิดข้อมูลหนึ่งไปอีกชนิดหนึ่ง เช่น ต้องการเก็บค่า long ลง integer แบบง่าย สามารถ type cast long เป็น int ได้ แปลงค่าจากประเภทหนึ่งไปอีกประเภทอย่างชัดเจนด้วย cast operator ดังนี้ (type_name) expression ตัวอย่าง cast operator ทำให้การหารตัวเลขจำนวนเต็มสองตัวทำเป็น fl

  12. Do-While Loop เทียบกับ While Loop ใน C/C++

    นี่คือความแตกต่างพื้นฐานของ do-while loop และ while loop ใน C หรือ C++ While loop ใน C ทำซ้ำคำสั่งเป้าหมายตราบใดที่เงื่อนไขเป็นจริง ไวยากรณ์: while(condition) { statement(s); } statement(s) อาจเป็นคำสั่งเดียวหรือบล็อก condition เป็นนิพจน์ใดๆ true คือค่าไม่เป็นศูนย์ ลูปทำซ้ำขณะ condition จริง เมื

  13. คอมไพล์โปรแกรม 32-bit บน gcc 64-bit ใน C และ C++

    ในปัจจุบันคอมไพเลอร์มักเป็นเวอร์ชัน 64-bit แบบเริ่มต้น บางครั้งต้องคอมไพล์และรันโค้ดบนระบบ 32-bit ต้องใช้ฟีเจอร์นี้ ก่อนอื่น ตรวจสอบเวอร์ชันเป้าหมายปัจจุบันของ gcc compiler: gcc –v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_N

  14. ความแตกต่างประเภทของ Character Literals ใน C เทียบ C++

    ใน C++ ขนาดของ character constants เป็น char ใน C ประเภทของ character constant เป็น integer (int) ดังนั้นใน C sizeof(a) คือ 4 สำหรับสถาปัตยกรรม 32-bit และ CHAR_BIT คือ 8 แต่ sizeof(char) เป็น 1 ไบต์ทั้ง C และ C++ ตัวอย่าง C #include <stdio.h> main() { printf(%d, sizeof(a)); } ผลลัพธ์ 4 ตั

  15. ความแตกต่างระหว่าง Structures ใน C และ C++

    นี่คือความแตกต่างระหว่าง Structures ใน C และ C++ โครงสร้าง C++ ใกล้เคียงกับ Classes ใน C++ ใน C structure สมาชิกทุกตัวเป็น public แต่ใน C++ เป็น private โดยค่าเริ่มต้น ความแตกต่างอื่นๆ ดังนี้ C Structure C++ Structure Structures ใน C ไม่สามารถมี member functions ภายใน structure Structures ใน

  16. Foreach ใน C++ เทียบกับ Java

    ใน C++ และ Java มีลูปแบบหนึ่งชื่อ foreach loop เป็นการปรับเปลี่ยนจาก for loop ใช้เข้าถึงข้อมูลจาก container เข้าถึงสมาชิกของอาเรย์ได้เร็วโดยไม่ต้อง initialization ใช้ทำบางอย่างสำหรับแต่ละสมาชิกของ container ไม่ใช่ทำซ้ำ n ครั้ง ดูวิธีใช้ foreach loop ใน C++ และ Java ตัวอย่าง C++ #include <iostre

  17. ฟังก์ชัน difftime() ของไลบรารี C

    นี่คือฟังก์ชัน difftime() ใน C ใช้หาความต่างระหว่างสองค่าเวลา difftime() รับอาร์กิวเมนต์เวลาสองค่า ค่าแรกคือ lower bound ค่าที่สองคือ upper bound และคืนค่าความต่างระหว่างสองอาร์กิวเมนต์นี้ ตัวอย่าง #include <time.h> #include <stdio.h> #include <unistd.h> main() { int sec; ti

  18. การจัดการสัญญาณ (Signal Handling) ใน C++

    สัญญาณ (Signals) คือการขัดจังหวะที่ส่งมายังโปรเซสโดยระบบปฏิบัติการ ซึ่งสามารถทำให้โปรแกรมจบก่อนเวลา สร้าง interrupt ได้โดยกด Ctrl+C บน UNIX, LINUX, Mac OS X หรือ Windows มีสัญญาณที่โปรแกรมจับไม่ได้ แต่มีรายการสัญญาณต่อไปนี้ที่จับได้ในโปรแกรมและดำเนินการตามสัญญาณ สัญญาณเหล่านี้กำหนดใน header file ขอ

  19. ช่วงข้อมูลและ Macro ใน C++

    บางกรณีต้องใช้ค่าต่ำสุดหรือสูงสุดของชนิดข้อมูลเฉพาะในโจทย์ต่างๆ จำค่าเหล่านั้นยาก C++ จึงมี macro แทนช่วงค่าต่ำสุดและสูงสุด บางอย่างไม่มี macro เพราะเป็น unsigned ค่าต่ำสุดคือ 0 Data Type Range Macro for min value Macro for max value char-128 to +127CHAR_MINCHAR_MAX short char-128 to +127SCHA

  20. C++ Set สำหรับข้อมูลประเภทผู้ใช้กำหนดเอง

    นี่คือวิธีสร้าง set สำหรับข้อมูลประเภทผู้ใช้กำหนดเอง (user-defined data types) Set อยู่ใน C++ STL เป็นโครงสร้างข้อมูลพิเศษ จัดเก็บข้อมูลเรียงลำดับ และไม่รองรับค่าซ้ำ สามารถใช้ set สำหรับข้อมูลประเภทใดก็ได้ แต่จะดูวิธีใช้กับข้อมูลผู้ใช้กำหนดเอง เพื่อใช้ข้อมูลผู้ใช้กำหนดเองใน set ต้อง override operat

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