Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. โปรแกรม C++ สำหรับการใช้งาน Graph Structured Stack

    ในโปรแกรม C++ นี้ เราใช้งาน Graph Structured Stack (GSS) ซึ่งเป็นโครงสร้างข้อมูลที่ใช้ในการแยกวิเคราะห์ (parsing) โดยเฉพาะ Tomitas algorithm สำหรับ Generalized LR parsing GSS แทนสแต็กหลายตัวที่แบ่งก้อน (fork) และรวมกัน (merge) ได้ อัลกอริธึม (Graph Structured Stack) รับ adjacency matrix, source no

  2. โปรแกรม C++ สำหรับการใช้งาน Bit Array

    Bit Array เป็นโครงสร้างข้อมูลอาร์เรย์ที่จัดเก็บข้อมูลอย่างกระชับ (compact) ใช้สำหรับการใช้งานโครงสร้างข้อมูลแบบง่ายๆ โดยแต่ละบิตแทนค่า 0 หรือ 1 อัลกอริธึมและ Pseudocode Function getBit(int val, int pos): singleBit.b = 0 if pos == 0: singleBit.b = val & 1 else: singleBit.

  3. ทำไมการประมวลผลอาร์เรย์ที่เรียงแล้วเร็วกว่าอาร์เรย์ที่ไม่ได้เรียงใน C++

    ใน C++ การประมวลผลอาร์เรย์ที่เรียงลำดับแล้ว (sorted array) เร็วกว่าอาร์เรย์ที่ไม่ได้เรียง (unsorted array) เนื่องจาก Branch Prediction (การคาดการณ์การแบ่งทาง) ในสถาปัตยกรรมคอมพิวเตอร์ Branch prediction กำหนดว่า conditional branch (การกระโดดเงื่อนไข) ใน instruction flow ของโปรแกรม มีแนวโน้มจะถูกนำไป

  4. วิธีประกาศอาร์เรย์ 2 มิติแบบไดนามิกใน C++ ด้วย new

    อาร์เรย์ 2 มิติแบบไดนามิกในพื้นฐานคืออาร์เรย์ของ pointer ที่ชี้ไปยังอาร์เรย์ นี่คือแผนภาพของอาร์เรย์ 2 มิติขนาด 3x4 อัลกอริธึม ประกาศมิติของอาร์เรย์ จัดสรรอาร์เรย์ 2 มิติ a[][] แบบไดนามิกด้วย new เติมค่าลงในอาร์เรย์ พิมพ์อาร์เรย์ ลบหน่วยความจำเพื่อคืนระบบ โค้ดตัวอย่าง #include <iostream> u

  5. การส่งอาร์เรย์ 2 มิติไปยังฟังก์ชันใน C++

    อาร์เรย์สามารถส่งไปยังฟังก์ชันเป็นอาร์กิวเมนต์ได้ ในโปรแกรมนี้ เราจะแสดงองค์ประกอบของอาร์เรย์ 2 มิติโดยการส่งมันไปยังฟังก์ชัน อัลกอริธึม อาร์เรย์ 2D n[][] ถูกส่งไปยังฟังก์ชัน show() ใน show() วนลูป巢套 (nested for loop) เพื่อเข้าถึงแต่ละองค์ประกอบ โค้ดตัวอย่าง #include <iostream> using names

  6. delete[] ใน C++ รู้ขนาดอาร์เรย์ได้อย่างไร

    ออเปอเรเตอร์ new ใช้สำหรับจัดสรรหน่วยความจำแบบไดนามิกบน heap ออเปอเรเตอร์ delete[] ใช้สำหรับคืนหน่วยความจำนั้น new จะจัดเก็บจำนวนองค์ประกอบที่สร้างไว้ในบล็อกหัว (header block) เพื่อให้ delete[] สามารถคืนหน่วยความจำได้ถูกต้องโดยใช้จำนวนนั้น โค้ดตัวอย่าง (Dynamic 2D Array) #include <iostream> u

  7. C++ รองรับ Variable Length Arrays (VLA) หรือไม่

    C++ ไม่รองรับ Variable Length Arrays (VLA) มาตรฐาน C++11 ระบุว่าขนาดอาร์เรย์ต้องเป็น constant-expression ดังนั้นโค้ดต่อไปนี้จะไม่ทำงานใน C++ มาตรฐาน: void displayArray(int n) { int arr[n]; // Error: variable length array not allowed in C++ // ...... } int main() { displayArray(7); } ข

  8. ทำไม C++ ไม่รองรับฟังก์ชันที่คืนค่าอาร์เรย์

    พิจารณาโปรแกรมต่อไปนี้: #include <iostream> using namespace std; int* Array() { int a[100]; // อาร์เรย์ท้องถิ่น (บน stack) a[0] = 7; a[1] = 6; a[2] = 4; a[3] = 3; return a; // คืนที่อยู่ของอาร์เรย์ท้องถิ่น } int main() { int* p = Array(); cout << p[0] &

  9. อาร์เรย์ของสตริง (Array of Strings) ใน C++

    อาร์เรย์ของสตริงสามารถสร้างใน C++ ได้โดยใช้คีย์เวิร์ด string นี่คือโปรแกรมตัวอย่าง อัลกอริธึม เริ่มต้นองค์ประกอบอาร์เรย์ด้วยคีย์เวิร์ด string รับสตริงเป็นอินพุต (ถ้าต้องการ) พิมพ์อาร์เรย์ โค้ดตัวอย่าง #include <iostream> #include <bits/stdc++.h> using namespace std; int main() {

  10. ผลรวมของอาร์เรย์ด้วย Pointer Arithmetic ใน C++

    นี่คือโปรแกรม C++ สำหรับหาผลรวมขององค์ประกอบอาร์เรย์โดยใช้ pointer arithmetic อัลกอริธึม เริ่มต้นค่าอาร์เรย์จากอินพุตผู้ใช้ กำหนด s = 0 ลูป i = 0 ถึง n-1: s = s + *(ptr + i) พิมพ์ผลรวมในตัวแปร s โค้ดตัวอย่าง #include <iostream> using namespace std; int main() { int a[7], i, s = 0;

  11. ผลคูณของอาร์เรย์ใน C++ ด้วย STL

    นี่คือตัวอย่างโปรแกรม C++ สำหรับหาผลคูณของอาร์เรย์ (Array Product) โดยใช้ STL อัลกอริธึม กำหนดค่าเริ่มต้นของอาร์เรย์ เรียกฟังก์ชัน accumulate พร้อม multiplies<int>() เพื่อหาผลคูณ พิมพ์ผลลัพธ์ โค้ดตัวอย่าง #include <iostream> #include <numeric> // สำหรับ accumulate #include <

  12. วิธีพิมพ์มิติของอาร์เรย์หลายมิติใน C++

    นี่คือโปรแกรม C++ สำหรับพิมพ์มิติของอาร์เรย์ที่กำหนด อัลกอริธึม ใช้ template function เพื่อหาขนาดของมิติปัจจุบัน แล้วเรียกซ้ำ (recursive) จนถึงมิติสุดท้าย โค้ดตัวอย่าง #include <iostream> using namespace std; // Base case: 1D array template <typename T, size_t N> void printDimensionsO

  13. การโอเวอร์โหลดออเปอเรเตอร์ดัชนีอาร์เรย์ [] ใน C++

    การโอเวอร์โหลดออเปอเรเตอร์มีบทบาทสำคัญในคุณสมบัติของภาษาเชิงวัตถุ (OOP) เป็นประเภทหนึ่งของ polymorphism แบบคอมไพล์ไทม์ (static polymorphism) อัลกอริธึม สร้างคลาส Arr และประกาศขนาดอาร์เรย์ ภายในคลาส เริ่มต้นองค์ประกอบทั้งหมดด้วยลูป for โอเวอร์โหลดออเปอเรเตอร์ [] เพื่อเข้าถึงอาร์เรย์พร้อมตรวจสอบขอบเ

  14. แปลง String เป็น Char Array ใน C++

    นี่คือโปรแกรม C++ สำหรับแปลง string เป็น char array สามารถทำได้หลายวิธี วิธีที่ 1: คัดลอกตัวต่อตัวด้วยลูป อัลกอริธึม กำหนดค่าให้ char array m ลูป i = 0 ถึง sizeof(m)-1 คัดลอก m[i] ไป str[i] และพิมพ์ โค้ดตัวอย่าง #include <iostream> #include <string.h> using namespace std; int main()

  15. วิธีสร้างอาร์เรย์ 2 มิติแบบไดนามิกภายในคลาสใน C++

    นี่คือโปรแกรม C++ เรียบง่ายสำหรับสร้างอาร์เรย์ 2 มิติแบบไดนามิกภายในคลาสเพื่อพิมพ์องค์ประกอบของอาร์เรย์ (หมายเหตุ: โค้ดต้นฉบับเป็นอาร์เรย์ 1 มิติในคลาส ไม่ใช่ 2 มิติ จึงปรับแก้ให้เป็น 2 มิติจริง) อัลกอริธึม สร้างคลาส Arr และประกาศขนาดอาร์เรย์ ภายในคลาส เริ่มต้นองค์ประกอบทั้งหมดด้วยลูป for พิมพ์องค

  16. วิธีส่งอาร์เรย์โดยอ้างอิง (Pass by Reference) ใน C++

    หากเราส่งที่อยู่ของอาร์เรย์ขณะเรียกฟังก์ชัน เรียกว่า function call by reference ฟังก์ชันควรมีพารามิเตอร์เป็น pointer เพื่อรับที่อยู่ที่ส่งมา โค้ดตัวอย่าง #include <iostream> using namespace std; void show(int *num) { cout << *num; } int main() { int a[] = {3, 2, 1, 6, 7, 4, 5,

  17. วิธีใช้ std::sort เพื่อจัดเรียงอาร์เรย์ใน C++

    ในภาษาโปรแกรม การจัดเรียง (sorting) เป็นฟังก์ชันพื้นฐานสำหรับจัดเรียงข้อมูลเป็นลำดับจากน้อยไปมากหรือมากไปน้อย ใน C++ มีฟังก์ชัน std::sort() สำหรับจัดเรียงอาร์เรย์ ไวยากรณ์ sort(start_address, end_address) Start address – ที่อยู่ขององค์ประกอบแรก End address – ที่อยู่ของตำแหน่งต่อจากองค์ประกอบสุดท้า

  18. วิธีเริ่มต้นอาร์เรย์แบบไดนามิกใน C++

    นี่คือโปรแกรม C++ สำหรับเริ่มต้นอาร์เรย์แบบไดนามิก ใช้การจัดสรรหน่วยความจำแบบไดนามิกเพื่อคืนอาร์เรย์ท้องถิ่น (local array) จากฟังก์ชัน Array() โค้ดตัวอย่าง #include <iostream> using namespace std; int* Array() { int* a = new int[100]; // จัดสรรอาร์เรย์ 100 จำนวนเต็มบน heap a[0] = 7;

  19. การส่งอาร์เรย์ไปยังฟังก์ชันใน C++

    C++ ไม่อนุญาตให้ส่งอาร์เรย์ทั้งลูกเป็นอาร์กิวเมนต์ให้ฟังก์ชันโดยตรง แต่สามารถส่ง pointer ไปยังอาร์เรย์ได้โดยระบุชื่ออาร์เรย์โดยไม่ต้องมีดัชนี หากต้องการส่งอาร์เรย์มิติเดียวเป็นอาร์กิวเมนต์ สามารถประกาศพารามิเตอร์ทางการ (formal parameter) ได้ 3 วิธี ซึ่งให้ผลเหมือนกันทั้งหมด เพราะแต่ละวิธีบอกคอมไพเล

  20. วิธีสร้างอาร์เรย์จำนวนเต็มแบบไดนามิกใน C++ ด้วยคีย์เวิร์ด new

    ใน C++ สามารถสร้างอาร์เรย์แบบไดนามิกได้โดยใช้คีย์เวิร์ด new และลบได้ด้วยคีย์เวิร์ด delete โค้ดตัวอย่าง #include <iostream> using namespace std; int main() { int i, n; cout << Enter total number of elements: << \n; cin >> n; int *a = new int[n]; // จัดสรรอาร

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:34/301  20-คอมพิวเตอร์/Page Goto:1 28 29 30 31 32 33 34 35 36 37 38 39 40