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

    บทนำ โปรแกรมนี้แบ่งสตริงที่กำหนดให้เป็น N ส่วนที่มีความยาวเท่ากันทุกส่วน หากแบ่งไม่ลงตัวจะแจ้งเตือน ขั้นตอนการแก้ปัญหา รับสตริงและค่า N หาความยาวสตริง ถ้าความยาว mod N ≠ 0 → แจ้ง Cant divide string into equal parts คำนวณขนาดแต่ละส่วน = ความยาว / N วนลูปพิมพ์ตัวอักษร ทุกครั้งที่ครบขนาดส่วน → ขึ้นบร

  2. หารอาร์เรย์หนึ่งด้วยผลคูณของอีกอาร์เรย์ใน C++

    บทนำ โปรแกรมนี้รับอาร์เรย์สองชุด แล้วหารทุกสมาชิกของอาร์เรย์แรกด้วยผลคูณของสมาชิกทั้งหมดในอาร์เรย์ที่สอง ขั้นตอนการแก้ปัญหา คำนวณผลคูณของทุกสมาชิกในอาร์เรย์ที่สอง (ข้าม 0 เพื่อกันหารด้วยศูนย์) วนลูปอาร์เรย์แรก หารแต่ละตัวด้วยผลคูณนั้น ใช้ floor() เพื่อปัดทศนิยมทิ้ง (การหารจำนวนเต็ม) ตัวอย่างโค้ด

  3. หารเลขใหญ่ในรูปสตริงด้วยตัวเลขใน C++

    บทนำ การหารเลขใหญ่ที่เก็บเป็นสตริง (String) ด้วยตัวหารขนาดปกติ (int) ทำได้โดยจำลองกระบวนการหารยาว (Long Division) แบบมือ ขั้นตอนการแก้ปัญหา รับสตริงตัวเลขและตัวหาร อ่านหลักทีละตัวจากซ้ายไปขวา สร้าง dividend ชั่วคราวจนมากกว่าหรือเท่าตัวหาร หาร dividend ด้วย divisor → ได้หลักของผลลัพธ์ นำเศษมาคูณ 10

  4. แบ่งตัวเลขเป็นสองส่วนที่หารด้วยตัวเลขกำหนดได้ใน C++

    บทนำ โจทย์: กำหนดตัวเลขเป็นสตริง และตัวหารสองตัว (prefix_dividend, suffix_dividend) หาตำแหน่งตัดที่ทำให้ส่วนหน้า (prefix) หารตัวหารแรกลงตัว และส่วนท้าย (suffix) หารตัวหารที่สองลงตัว ขั้นตอนการแก้ปัญหา รับสตริงตัวเลขและตัวหารสองตัว สร้าง prefix โดยอ่านทีละหลักจากซ้ายไปขวา จนกว่าจะหารตัวหารแรกลงตัว

  5. แบ่ง Linked List เป็นสองส่วนตามอัตราส่วน p:q ใน C++

    บทนำ โปรแกรมนี้แบ่ง Linked List เดียวออกเป็นสอง Linked List ตามอัตราส่วน p:q โดยการตัดลิงก์ที่โหนดที่ p ขั้นตอนการแก้ปัญหา สร้างโครงสร้างโหนด Linked List สร้าง Linked List ตัวอย่าง กำหนดอัตราส่วน p และ q หาความยาวของ Linked List ถ้าความยาว < p+q → แบ่งไม่ได้ เดินไปที่โหนดที่ p แล้วตัดลิงก์ (nex

  6. ตรวจสอบเลขใหญ่หาร 12 ลงตัวใน C++

    บทนำ การตรวจสอบเลขใหญ่ (ในรูปสตริง) หาร 12 ลงตัว ใช้หลักการ: หาร 12 ลงตัว ⇔ หาร 3 ลงตัว และ หาร 4 ลงตัว กฎการหาร หาร 3 ลงตัว: ผลรวมหลักหาร 3 ลงตัว หาร 4 ลงตัว: เลขสองหลักท้ายหาร 4 ลงตัว ขั้นตอนการแก้ปัญหา ถ้าความยาว ≥ 3: ตรวจสอบหลักสุดท้ายเป็นเลขคู่ (หาร 2 ลงตัว) → ต้องเป็นจริงเพื่อหาร 4 ลงตัวไ

  7. ตรวจสอบเลขฐานสองหาร 64 ลงตัว (ลบบิตได้) ใน C++

    บทนำ โจทย์: กำหนดสตริงเลขฐานสอง (Binary String) เราสามารถลบบิต (0 หรือ 1) ออกได้ ตรวจสอบว่าสามารถลบบิตบางส่วนเพื่อให้เลขที่เหลือหาร 64 ลงตัวได้หรือไม่ ข้อสังเกตสำคัญ เลขฐานสองหาร 64 ลงตัว ⇔ ต้องลงท้ายด้วย 6 ศูนย์ (เพราะ 64 = 2⁶) และต้องมีบิต 1 อย่างน้อย 1 ตัว (เพื่อไม่ให้เป็น 0) ขั้นตอนการแก้ปัญหา

  8. ตรวจสอบเลขใหญ่หาร 37 ลงตัวใน C++

    บทนำ การตรวจสอบว่าเลขใหญ่ (เกินชนิดข้อมูลมาตรฐาน) หาร 37 ลงตัวหรือไม่ สามารถทำได้โดยคณิตศาสตร์เฉพาะของ 37 หลักการคณิตศาสตร์ 1000 ≡ 1 (mod 37) ดังนั้น จัดกลุ่มเลขทีละ 3 หลัก (จากขวาไปซ้าย) แล้วบวกกัน หากผลรวมหาร 37 ลงตัว ตัวเลขเดิมก็หาร 37 ลงตัว ขั้นตอนการแก้ปัญหา รับตัวเลขเป็นสตริง เติม 0 ด้านหน้

  9. การหารโดยไม่ใช้ตัวดำเนินการ '/' ใน C++

    บทนำ โปรแกรมนี้สาธิตวิธีทำการหาร (Division) โดยใช้แค่ตัวดำเนินการลบ (-) แทนการหาร (/) โดยตรง หลักการทำงาน การหาร a ÷ b สามารถทำได้โดยการลบ b ออกจาก a ซ้ำๆ จนกว่า a จะน้อยกว่า b จำนวนครั้งที่ลบได้คือ ผลหาร (Quotient) ขั้นตอนการแก้ปัญหา รับค่า dividend (ตัวถูกหาร) และ divisor (ตัวหาร) จัดการกรณีหาร

  10. หาจำนวนตัวหารของ n² ที่ไม่ใช่ตัวหารของ n ใน C++

    บทนำ โจทย์นี้ต้องการหาจำนวนตัวหารของ n² ที่ ไม่ใช่ ตัวหารของ n โดยตรง ขั้นตอนการแก้ปัญหา รับค่า n คำนวณ n² วนลูปจาก 2 ถึง n² ถ้า n² หารด้วย i ลงตัว แต่ n หารด้วย i ไม่ลงตัว → นับเพิ่ม แสดงผลรวม ตัวอย่างโค้ด #include <bits/stdc++.h> using namespace std; int getNumberOfDivisors(int n) {

  11. Double Base Palindrome (แพลินโดรมสองฐาน) ใน C++

    บทนำ Double Base Palindrome คือเลขที่เป็น Palindrome (อ่านจากหน้าหลังได้เหมือนกัน) ในสองระบบเลขพร้อมกัน เช่น ฐานสิบ (Decimal) และฐานสอง (Binary) หรือฐานอื่นๆ ขั้นตอนการแก้ปัญหา รับตัวเลขและฐานเลขเป้าหมาย (base) ตรวจสอบว่าเป็น Palindrome ในฐานสิบหรือไม่ แปลงตัวเลขเป็นสตริงในฐานเป้าหมาย ตรวจสอบว่าเป

  12. Double-Ended Priority Queue ใน C++ โดยใช้ Set

    บทนำ Double-Ended Priority Queue (Deque Priority Queue) คือโครงสร้างข้อมูลที่รองรับการเข้าถึงและลบทั้งค่าต่ำสุดและค่าสูงสุดได้อย่างมีประสิทธิภาพ ใน C++ สามารถนำ `std::set` มาใช้งานได้โดยตรง เนื่องจาก set จัดเก็บข้อมูลเรียงลำดับอัตโนมัติ เมธอดที่รองรับ size() - คืนขนาดของคิว is_empty() - ตรวจสอบว่า

  13. คูณสองตัวแรกและเลื่อนศูนย์ไปท้ายอาร์เรย์ใน C++

    บทนำ โปรแกรมนี้จะทำสองอย่าง: (1) คูณ 2 กับตัวเลขที่อยู่ติดกันและมีค่าเท่ากัน (2) เลื่อนค่า 0 ทั้งหมดไปอยู่ท้ายอาร์เรย์ ขั้นตอนการแก้ปัญหา วนลูปตรวจสอบค่าที่ติดกันและเท่ากัน (และไม่ใช่ 0) ถ้าเจอ ให้คูณ 2 กับตัวแรก และตั้งตัวที่สองเป็น 0 ข้ามตัวถัดไป (เพราะกลายเป็น 0 แล้ว) หลังจบลูป ให้เลื่อน 0 ทั้ง

  14. Double Tree (ต้นไม้คู่) ในภาษา C++ พร้อมตัวอย่าง

    บทนำ Double Tree คือการแปลง Binary Tree ให้แต่ละโหนดมีโหนดลูกซ้ายใหม่ที่มีค่าเท่ากับโหนดปัจจุบัน และโหนดลูกซ้ายเดิมจะกลายเป็นลูกซ้ายของโหนดใหม่นั้น ขั้นตอนการแก้ปัญหา สร้างคลาสโหนด (node class) สร้างต้นไม้ด้วยข้อมูลตัวอย่าง เขียนฟังก์ชัน Recursive เพื่อทำ Double Tree พิมพ์ต้นไม้ก่อนและหลังการแปลง

  15. สร้าง Linked List ใหม่จากสอง Linked List โดยเลือกค่าสูงสุดแต่ละตำแหน่งใน C++

    บทนำ บทช่วยสอนนี้จะสาธิตวิธีสร้าง Linked List ใหม่จากสอง Linked List ที่มีขนาดเท่ากัน โดยเลือกค่าสูงสุด (maximum) จากแต่ละตำแหน่งที่ตรงกัน ขั้นตอนการแก้ปัญหา กำหนดโครงสร้างโหนด (struct Node) สำหรับ Linked List สร้าง Linked List สองตัวที่มีขนาดเท่ากัน วนลูปผ่านทั้งสอง List พร้อมกัน หาค่าสูงสุดจากโห

  16. สร้างต้นไม้แบบ Mirror จาก Binary Tree ในภาษา C++

    บทนำ ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีการสร้างต้นไม้แบบ Mirror (Mirror Tree) จาก Binary Tree ที่กำหนดให้ Mirror Tree คือต้นไม้ที่โครงสร้างเป็นสะท้อนของต้นไม้ต้นฉบับ โดยการสลับตำแหน่งของโหนดลูกซ้ายและขวาในทุกระดับ ขั้นตอนการแก้ปัญหา สร้างโครงสร้างโหนด (struct Node) สำหรับ Binary Tree สร้าง Binary Tr

  17. สร้างสตริงใหม่จากการรวมตัวอักษรสลับกันจากครึ่งหน้าและครึ่งหลังในลำดับย้อนกลับ (C++)

    ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมสร้างสตริงใหม่โดยการรวมตัวอักษรสลับกันจากสองครึ่งของสตริงเดิมในลำดับย้อนกลับ (reverse) ขั้นตอนการแก้ปัญหา กำหนดสตริงต้นฉบับ หาความยาวของสตริง กำหนดดัชนีของครึ่งแรกและครึ่งหลัง วนลูปจากท้ายสุดของทั้งสองครึ่ง: เพิ่มตัวอักษรแต่ละตัวเข้าไปในสตริงใหม่ พิมพ์สตริงใหม่

  18. สร้าง Linked List จากอาร์เรย์ใน C++

    ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีสร้าง Linked List จากอาร์เรย์ที่กำหนด ขั้นตอนการแก้ปัญหา กำหนดค่าอาร์เรย์ตัวอย่าง เขียนโครงสร้างโหนด (struct Node) วนลูปผ่านอาร์เรย์: สร้างโหนดใหม่พร้อมข้อมูล แทรกโหนดใหม่เข้า Linked List พิมพ์ Linked List โค้ดตัวอย่าง #include <bits/stdc++.h> using name

  19. สร้าง Linked List ใหม่จากสอง Linked List ที่กำหนดด้วยค่าสูงสุดที่แต่ละโหนดใน C++

    ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่สร้าง linked list ใหม่จาก linked list ที่กำหนดให้ เรามี linked list สองตัวที่มีขนาดเท่ากัน และเราต้องสร้าง linked list ใหม่จากสอง linked list โดยใช้ตัวเลขสูงสุดจากโหนดของสอง linked list ลองดูขั้นตอนในการแก้ปัญหา เขียน struct node สร้าง linked list สองตัวที่มีขนาดเ

  20. นับสตริงย่อยพาลินโดรมในช่วงดัชนีใน C++

    เราได้รับสตริงและช่วงเริ่มจาก start ถึง end และภารกิจคือคำนวณจำนวนสตริงย่อยพาลินโดรมที่อยู่ในช่วงที่กำหนด สตริงพาลินโดรมคือสตริงที่เหมือนกันทั้งอ่านจากหน้าไปหลังและหลังไปหน้า เช่น nitin, aba ฯลฯ ตัวอย่าง Input - InputString = cccaabbbdee, start = 2, end = 6; Output - จำนวนสตริงย่อยพาลินโดรมในช่วงดัช

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:251/301  20-คอมพิวเตอร์/Page Goto:1 245 246 247 248 249 250 251 252 253 254 255 256 257