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

    มีสตริง S แสดงผลลัพธ์การทอยลูกเต๋า และตัวเลข X ผู้เล่นแต่ละคนทอยต่อเนื่องจนได้ผลลัพธ์ไม่ใช่ X หาจำนวนผู้เล่น (M) ตัวอย่าง: S = 3662123, X = 6 → ผลลัพธ์ 5 คน คนที่ 1: ทอยได้ 3 (ไม่ใช่ 6 → หยุด) คนที่ 2: ทอยได้ 6, 6, 2 (เจอ 6 สองครั้ง แล้วได้ 2 → หยุด) คนที่ 3: ทอยได้ 1 คนที่ 4: ทอยได้ 2 คนที่ 5: ทอ

  2. Array Decay ใน C++ คืออะไร และป้องกันอย่างไร

    Array Decay คือการที่อาร์เรย์สูญเสียข้อมูลประเภทและขนาด เมื่อส่งผ่านฟังก์ชัน อาร์เรย์จะ สลาย (Decay) กลายเป็น Pointer ไปยังองค์ประกอบแรก ทำให้ sizeof ให้ขนาดของ Pointer แทนขนาดอาร์เรย์เดิม ตัวอย่าง Array Decay #include <iostream> using namespace std; void DisplayValue(int* p) { cout << N

  3. ตรวจสอบ Key ใน C++ Map และ Unordered_Map

    Map และ Unordered Map ใช้ค้นหา Key ด้วย find(key) คืน Iterator หากเจอ, คืน end() หากไม่เจอ ตัวอย่างโค้ด #include <iostream> #include <map> using namespace std; string isPresent(map m, string key) { if (m.find(key) == m.end()) return Not Present; return Present; } int m

  4. ลบสมาชิกใน Set โดยระบุค่า (Value) ใน C++

    STL set มีเมธอด erase(value) ลบสมาชิกที่มีค่าเท่ากับ value โดยตรง คืนค่าจำนวนที่ลบได้ (0 หรือ 1 เนื่องจาก Set ไม่มีค่าซ้ำ) ตัวอย่างโค้ด #include <iostream> #include <set> using namespace std; void dispSet(set myset) { for (auto it = myset.begin(); it != myset.end(); ++it) c

  5. ลบสมาชิกตัวสุดท้ายของ STL List ใน C++

    STL list มีเมธอด pop_back() สำหรับลบสมาชิกตัวสุดท้ายโดยตรง ไม่ต้องใช้ Iterator ตัวอย่างโค้ด #include <iostream> #include <list> using namespace std; void display(list my_list) { for (auto it = my_list.begin(); it != my_list.end(); ++it) cout << *it << ; } int main() {

  6. ลบสมาชิกตัวสุดท้ายของ STL Map ใน C++

    STL map เก็บคู่ Key-Value เรียงตาม Key สมาชิกตัวสุดท้ายคือ Key สูงสุด ใช้ prev(end()) กับ erase() ตัวอย่างโค้ด #include <iostream> #include <map> using namespace std; int main() { map my_map; my_map[first] = 10; my_map[second] = 20; my_map[third] = 30; cout << Map

  7. ลบสมาชิกตัวสุดท้ายของ STL Set ใน C++

    STL set เรียงข้อมูลอัตโนมัติ สมาชิกตัวสุดท้ายคือค่าสูงสุด ใช้ prev(end()) ได้ Iterator ชี้ตัวสุดท้าย แล้ว erase() ตัวอย่างโค้ด #include <iostream> #include <set> using namespace std; void display(set my_set) { for (auto it = my_set.begin(); it != my_set.end(); ++it) cout <<

  8. หาค่าสูงสุดของอาร์เรย์ด้วย STL max_element() ใน C++

    ใช้ฟังก์ชัน max_element() จาก <algorithm> หาค่าสูงสุดในอาร์เรย์ คืนค่า Iterator ต้อง Dereference เพื่อได้ค่า ตัวอย่างโค้ด #include <iostream> #include <algorithm> using namespace std; int main() { int arr[] = {12, 45, 74, 32, 66, 96, 21, 32, 27}; int n = sizeof(arr) / siz

  9. หาผลรวมสมาชิกอาร์เรย์ด้วย STL accumulate() ใน C++

    ใช้ฟังก์ชัน accumulate() จาก header <numeric> คำนวณผลรวมองค์ประกอบในอาร์เรย์หรือคอนเทนเนอร์ รูปแบบ accumulate(first, last, init) → คืนค่า init + ผลรวมของ [first, last) ตัวอย่างโค้ด #include <iostream> #include <numeric> using namespace std; int main() { int arr[] = {12, 45,

  10. การแทรกข้อมูลใน STL List ของ C++

    STL list รองรับการแทรกข้อมูลที่หน้า, หลัง และตำแหน่งใดๆ ได้อย่างมีประสิทธิภาพ O(1) หากมี Iterator อยู่แล้ว เมธอดหลัก push_front(val) - แทรกที่หน้า push_back(val) - แทรกที่หลัง insert(iterator, val) - แทรกที่ตำแหน่ง iterator ตัวอย่างโค้ด #include <iostream> #include <list> using names

  11. การกลับลำดับอาร์เรย์ด้วย STL reverse() ใน C++

    ใช้ฟังก์ชัน reverse() จาก header <algorithm> กลับลำดับองค์ประกอบในอาร์เรย์หรือคอนเทนเนอร์ ตัวอย่างโค้ด #include <iostream> #include <algorithm> using namespace std; int main() { int arr[] = {10, 20, 30, 40, 50, 60}; int n = sizeof(arr) / sizeof(arr[0]); cout << Array

  12. การเรียงลำดับอาร์เรย์ด้วย STL sort() ใน C++

    ใช้ฟังก์ชัน sort() จาก header <algorithm> เรียงอาร์เรย์จากน้อยไปมาก (Ascending) โดยค่าเฉลี่ย O(n log n) ตัวอย่างโค้ด #include <iostream> #include <algorithm> using namespace std; int main() { int arr[] = {52, 14, 85, 63, 99, 54, 21}; int n = sizeof(arr) / sizeof(arr[0]);

  13. การเดินทาง (Traverse) STL Set แบบย้อนกลับ (Reverse) ใน C++

    STL set เก็บข้อมูลเรียงลำดับจากน้อยไปมาก การเดินทางแบบย้อนกลับใช้ reverse_iterator ร่วมกับ rbegin() และ rend() ตัวอย่างโค้ด #include <iostream> #include <set> using namespace std; int main() { int arr[] = {10, 15, 26, 30, 35, 40, 48, 87, 98}; set my_set(arr, arr + sizeof(arr) /

  14. การใช้ getline() ใน C++ เมื่อมีบรรทัดว่างใน Input

    ฟังก์ชัน getline() อ่านข้อมูลจนกว่าจะเจอ newline หรือ delimiter ที่กำหนด ปัญหาคือหากมีบรรทัดว่าง getline() จะคืนสตริงว่างทันที วิธีแก้ ใช้ลูป while ข้ามบรรทัดว่างไปเรื่อยๆ จนกว่าจะได้ข้อมูลจริง ตัวอย่างโค้ด #include <iostream> using namespace std; int main() { string str; int term =

  15. Chrono Library ใน C++ สำหรับจัดการเวลา

    ไลบรารี <chrono> ใน C++ ใช้สำหรับจัดการวันที่และเวลา โดยแยกแนวคิดระหว่าง Duration (ช่วงเวลา) และ Time Point (จุดเวลา) เพื่อความแม่นยำสูงและไม่ขึ้นกับระบบ แนวคิดหลัก Duration: แสดงช่วงเวลา เช่น 30 วินาที, 2 ชั่วโมง ประกอบด้วย count (จำนวน) และ period (หน่วยเวลา) Time Point: จุดเวลาบนเส้นเวลา

  16. การเปรียบเทียบ String Object ด้วย Relational Operators ใน C++

    ใน C++ คลาส string รองรับตัวดำเนินการเปรียบเทียบเชิงสัมพันธ์ (Relational Operators): ==, !=, <, >, <=, >= ตัวดำเนินการเหล่านี้เปรียบเทียบแบบ Lexicographical (ตามลำดับตัวอักษร) โดยเปรียบเทียบตัวอักษรทีละตัว ตัวอย่างโค้ด #include <iostream> using namespace std; void compareStrings

  17. หา Local Minima ในอาร์เรย์ด้วย Binary Search ใน C++

    Local Minima คือองค์ประกอบที่น้อยกว่าหรือเท่ากับเพื่อนบ้านทั้งสองข้าง (มุมมองมุมเดียวถ้าอยู่ขอบ) ตัวอย่าง: [9, 6, 3, 14, 5, 7, 4] → Local minima: 3, 5, 4 (คืนค่าใดค่าหนึ่งก็ได้) อัลกอริทึม (Binary Search แบบปรับ) หาจุดกึ่งกลาง mid ถ้า arr[mid] น้อยกว่าทั้งซ้ายและขวา → คืนค่า mid arr[mid-1] → ค้น

  18. หาการเรียงสับเปลี่ยนของ 2N ตัวเลข ให้สมการค่าสัมบูรณ์ได้ 2K ใน C++

    กำหนด N และ K หาการเรียงสับเปลี่ยน (Permutation) ของ 1, 2, ..., 2N ที่ทำให้สมการต่อไปนี้เป็นจริง: $$\sum_{i=1}^N |A_{2i-1} - A_{2i}| - |\sum_{i=1}^N (A_{2i-1} - A_{2i})| = 2K$$ เงื่อนไข: K ≤ N ตัวอย่าง: N=4, K=1 → Output: 2 1 3 4 (ค่าสมการ = 2) แนวคิด เริ่มจากลำดับเรียง 1, 2, 3, 4, 5, 6, ... หาก

  19. หาช่วงจำนวนคอมโพสิต (Composite Numbers) ความยาว N ใน C++

    หาช่วงของจำนวนเต็มบวกที่ทุกตัวเป็น Composite (มีตัวหารนอกจาก 1 และตัวมันเอง) และมีความยาวเท่ากับ N แนวคิดทางคณิตศาสตร์ พิจารณา n! (แฟกทอเรียล) จะมีตัวหาร 2, 3, 4, ..., n ดังนั้น n! + 2, n! + 3, ..., n! + n ล้วนเป็น Composite ช่วงที่ต้องการ: [n! + 2, n! + n] (ความยาว = n - 1) สำหรับความยาว N ใช้ (N+

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:99/301  20-คอมพิวเตอร์/Page Goto:1 93 94 95 96 97 98 99 100 101 102 103 104 105