Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. หาตัวประกอบ 4 ตัวของ N ที่ให้ผลคูณสูงสุดและผลรวมเท่ากับ N ใน C++

    โจทย์ ให้จำนวนเต็ม N ต้องการหาตัวประกอบทั้งหมดของ N และแสดงผลคูณของตัวประกอบ 4 ตัวที่ทำให้ ผลรวมของตัวประกอบ 4 ตัวเท่ากับ N ผลคูณของตัวประกอบ 4 ตัวมีค่าสูงสุด ตัวอย่าง: N = 24 ผลคูณคือ 1296 ตัวประกอบของ 24 คือ 1, 2, 3, 4, 6, 8, 12, 24 เลือกตัวประกอบ 6 จำนวน 4 ครั้ง (6+6+6+6=24) ให้ผลคูณสูงสุด วิธ

  2. พิมพ์โหนดสลับกันของ Linked List ด้วย Recursion ใน C++

    Linked List เป็นโครงสร้างข้อมูลเชิงเส้นที่จัดเก็บข้อมูลในหน่วยความจำไม่ต่อเนื่อง แต่ละโหนดมีข้อมูลและ Pointer ชี้ไปโหนดถัดไป ปัญหา กำหนด Linked List ให้พิมพ์เฉพาะโหนดสลับกัน (Alternate nodes) เช่น 1st, 3rd, 5th... Input: 2 → 4 → 1 → 67 → 48 → 90 Output: 2 → 1 → 48 วิธีแก้: ใช้ Flag และ Recursion

  3. พิมพ์คำทั้งหมดที่ตรงกับ Pattern ใน CamelCase Notation Dictionary ใน C++

    คำอธิบายปัญหาในปัญหานี้ เราได้รับอาร์เรย์ของสตริงในรูปแบบ camelCase และ pattern (รูปแบบ) เราต้องพิมพ์สตริงทั้งหมดในอาร์เรย์ที่ตรงกับ pattern ที่กำหนดอาร์เรย์ของสตริง (Array of strings) คืออาร์เรย์ที่องค์ประกอบเป็นชนิดข้อมูล stringcamelCase เป็นวิธีการตั้งชื่อที่พบบ่อยในการเขียนโปรแกรม โดยตัวอักษรแรก

  4. พิมพ์ทุกวิธีแบ่งสตริงในรูปแบบวงเล็บ (Bracket Form) ใน C++

    คำอธิบายปัญหาในปัญหานี้ เราได้รับสตริง และเราต้องแบ่งมันเป็นซับสตริง (substrings) และพิมพ์พวกมันโดยล้อมรอบด้วยวงเล็บลองดูตัวอย่างเพื่อเข้าใจปัญหาให้ดีขึ้น:Input : wxyz Output :    (w) (x) (y) (z)    (w) (x) (yz)    (w) (xy) (z)    (w) (xyz)    (wx) (

  5. ตรวจสอบว่ามีสี่เหลี่ยมใน Binary Matrix ที่มุมทั้ง 4 เป็น 1 ใน C++

    คำอธิบายปัญหาสมมติว่าเรามี binary matrix เราต้องหาว่ามีสี่เหลี่ยมผืนผ้า (rectangle) หรือลำดับใดในเมทริกซ์ที่มุมทั้งสี่เท่ากับ 1 หรือไม่ เมทริกซ์เป็นแบบนี้:10010001010001010101ผลลัพธ์จะเป็น yes ที่นี่มีสี่เหลี่ยมผืนผ้าหนึ่งที่มุมเป็น 1101010101เพื่อแก้ปัญหานี้ เราจะใช้วิธีที่มีประสิทธิภาพ เราจะทำตามข

  6. พิมพ์คำที่ถูกต้องทั้งหมดที่เป็นไปได้จากอาร์เรย์ตัวอักษรใน C++

    คำอธิบายปัญหาในปัญหานี้ เราได้รับชุดคำ (set of words) และอาร์เรย์ของตัวอักษร และเราต้องตรวจสอบว่าคำเหล่านั้นเป็นไปได้โดยใช้ตัวอักษรของอาร์เรย์หรือไม่ลองดูตัวอย่างเพื่อเข้าใจปัญหาให้ดีขึ้น:Input : words[] : {go , hi , run , on , hog , gone}    Char[] : {a , o , h , g} Output : go , hog.คำอธ

  7. หาจุดตัดของเส้นภายในส่วน (Section) ใน C++

    คำอธิบายปัญหาสมมติว่าเรามีชุดของเส้นในรูป y = mx + c มีส่วน (sections) ที่ถูกสร้างโดยเส้นเหล่านี้และส่วนแนวตั้ง (vertical section) เราต้องหาว่าจุดตัด (intersection point) อยู่ในส่วนที่กำหนดหรือไม่ สมมติเส้นเป็นดังนี้:L1 = y = x + 2L2 = y = -x + 7L3 = y = -3L4 = y = 2x - 7และส่วนแนวตั้งกำหนดจาก x = 2

  8. หาผลคูณสเกลาร์สูงสุดของสองอาร์เรย์โดยแทรกศูนย์ใน C++

    ปัญหา n จงเพิ่มผลคูณสเกลาร์ (dot product) ให้สูงสุดโดยการแทรก 0 ลงในอาร์เรย์ B โดยไม่เปลี่ยนลำดับของสมาชิกในอาร์เรย์ทั้งสอง ตัวอย่าง: A = [2, 3, 1, 7, 8], B = [3, 6, 7] ผลลัพธ์คือ 107 โดยแทรก 0 ที่ตำแหน่ง 1 และ 3 ของ B: 2×0 + 3×3 + 1×0 + 7×6 + 8×7 = 107 วิธี Dynamic Programming สร้างตาราง DP ขนาด

  9. หาความสูงสูงสุดของพีระมิดจากอาร์เรย์วัตถุใน C++

    ปัญหา กำหนดอาร์เรย์ของ n วัตถุ แต่ละวัตถุมีความกว้าง W[i] จงจัดเรียงให้เป็นรูปพีระมิดที่: ความกว้างรวมของระดับ i น้อยกว่าระดับ i+1 จำนวนวัตถุในระดับ i น้อยกว่าระดับ i+1 ตัวอย่าง: ความกว้าง [40, 100, 20, 30] ผลลัพธ์คือ 2 ระดับ (ด้านบนคือ 30, ด้านล่างคือ 20, 40, 100) แนวคิดแบบ Greedy จัดวัตถุที่มี

  10. หาผลรวมสูงสุดที่เท่ากันของสามสแต็กใน C++

    ปัญหา กำหนดให้มีสามสแต็กของจำนวนเต็มบวก จงหาผลรวมสูงสุดที่เท่ากันของทั้งสามสแต็ก โดยอนุญาตให้เอาองค์ประกอบด้านบน (top) ออกได้ สแต็กถูกแทนด้วยอาร์เรย์ โดยดัชนีแรกคือองค์ประกอบด้านบน ตัวอย่าง: สแต็ก [3, 10], [4, 5], [2, 1] ผลลัพธ์คือ 0 เพราะต้องเอาออกหมดถึงจะเท่ากัน อัลกอริทึม คำนวณผลรวมของแต่ละสแต

  11. หาจำนวนคู่ (x, y) ในอาร์เรย์ที่ทำให้ x^y > y^x ใน C++

    ปัญหา y^x โดยที่ x เป็นสมาชิกของ X และ y เป็นสมาชิกของ Y ตัวอย่าง: X = [2, 1, 6], Y = [1, 5] ผลลัพธ์คือ 3 เพราะมี 3 คู่ คือ (2, 1), (2, 5) และ (6, 1) แนวคิดการแก้ปัญหา y^x ซึ่งเป็นจริงในส่วนใหญ่ แต่มีบางข้อยกเว้น ต้องจัดการกรณีพิเศษเหล่านั้น ขั้นตอนการทำงาน จัดเรียงอาร์เรย์ Y ให้เรียงลำดับจากน

  12. หาจำนวนตำแหน่งสมดุล (Balancing Positions) ในสตริงใน C++

    คำอธิบายปัญหาสมมติว่าเรามีสตริง เราต้องหาจำนวนตำแหน่งสมดุล (balancing position count) ในสตริงนั้น ที่ทำให้ส่วนซ้ายและส่วนขวาของสตริงมีตัวอักษรเหมือนกัน ความถี่ของตัวอักษรไม่ได้สำคัญ ดังนั้นถ้าสตริงคือ ABAABA จำนวนตำแหน่งสมดุลคือ 3 ตำแหน่งเหล่านี้คือ AB|AABA, ABA|ABA, ABAA|BAเพื่อแก้ปัญหานี้ เราจะใช้

  13. วิธีอ่านและพิมพ์ค่าจำนวนเต็ม (Integer) ใน C++

    คำอธิบายที่นี่เราจะดูวิธีอ่านจำนวนเต็มจากผู้ใช้และแสดงผลใน C++ เพื่อรับนำเข้า เราจะใช้ cin operator และเพื่อแสดงผลเราจะใช้ cout operator รูปแบบจะเป็นดังนี้:นำเข้า (Input):int x; cin >> x;ผลลัพธ์ (Output):int x = 110; cout << x;ตัวอย่างโค้ด#include<iostream> using namespace std; int

  14. คำถามสัมภาษณ์ C++ ที่พบบ่อย (Commonly Asked C++ Interview Questions)

    คำอธิบายที่นี่เราจะดูคำถามสัมภาษณ์ C++ ที่สำคัญบางข้อความแตกต่างระหว่าง C และ C++ คืออะไร?หัวข้อCC++บทนำC ถูกพัฒนาโดย Dennis Ritchie ราวปี 1969 ที่ AT&T Bell LabsC++ ถูกพัฒนาโดย Bjarne Stroustrup ในปี 1979ประเภทภาษาC เป็น procedural programmingC++ รองรับทั้ง procedural และ object-oriented programmin

  15. Timer (นาฬิกาจับเวลา) ใน C++ โดยใช้ System Calls

    คำอธิบายที่นี่เราจะดูวิธีออกแบบ Timer ใน C++ โดยใช้ system call เราจะไม่ใช้ graphics หรือ animation ตรงไหน ตรงนี้ Timer หมายถึง นาฬิกาจับเวลา (stopwatch) ที่นับเวลาขึ้นไป (up-counting) System calls ที่ใช้คือ:sleep(n) – ช่วยให้โปรแกรมหยุดพัก (sleep) เป็นเวลา n วินาทีsystem() – ใช้สำหรับรันคำสั่งระบบ

  16. เหตุผล hàng đầuที่ควรเรียน C++

    บทนำที่นี่เราจะดูเหตุผลที่ดีหลายประการ ที่ทำให้ภาษา C++ เป็นภาษาโปรแกรมมิ่งที่เราชอบ เรารู้ว่า C++ เป็นหนึ่งในภาษา object-oriented programming ที่นิยมมากที่สุด นี่คือเหตุผลที่ทำให้ควรพิจารณา C++ความนิยมและเงินเดือนสูงของ C++ –C++ เป็นหนึ่งในภาษาที่นิยมที่สุดในโลก ใช้โดยนักพัฒนาประมาณ 4.4 ล้านคนทั่วโ

  17. Type Conversion (การแปลงชนิดข้อมูล) ใน C++

    คำอธิบายที่นี่เราจะดูว่ามีเทคนิคการแปลงชนิดข้อมูล (type conversion) อะไรบ้างใน C++ มีหลักๆ 2 ประเภท คือ Implicit (โดยนัย) และ Explicit (แสดงออกชัดเจน)Implicit type conversion (การแปลงชนิดโดยนัย)นี้ còn เรียกว่า automatic type conversion การแปลงนี้ทำโดยคอมไพเลอร์โดยอัตโนมัติโดยไม่มีการกระตุ้นจากผู้ใช

  18. สร้าง Frequency Array ของหลักตัวเลขจาก x^1, x^2, ..., x^n ใน C++

    คำอธิบายปัญหาสมมติว่าเรามีจำนวนเต็มสองจำนวน x และ n เราต้องหาอาร์เรย์ที่มีความถี่ของตัวเลขดัชนีที่เกิดขึ้นใน (x^1, x^2,... x^(n-1), x^n) ดังนั้นถ้า x = 15 และ n = 3 ผลลัพธ์จะเป็น [0, 1, 2, 2, 0, 3, 0, 1, 0, 0] เนื่องจากเรารู้ว่า x^1 ถึง x^n ค่าคือ 15, 225 และ 3375 ดังนั้น frequency array คือ 0, 1, 2

  19. สร้างกราฟจาก Degree ของทุกโหนด (Vertices) ใน C++

    คำอธิบายปัญหาสมมติว่าเรามีรายการโหนด (vertices) และ degree ของพวกมันถูกกำหนด เราต้องสร้างกราฟแบบไม่มีทิศทาง (undirected graph) จากลำดับ degree นั้น จะไม่รวม loop หรือ multiple edges ดังนั้นถ้า degree sequence เป็น [2, 2, 1, 1] กราฟอาจจะเป็นแบบนี้:เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้:กำหนด adja

  20. สร้าง Turing Machine สำหรับ L = {aibjck | i*j = k; i, j, k ≥ 1}

    คำอธิบายปัญหาที่นี่เราจะดูวิธีสร้าง Turing machine สำหรับภาษา L = {AiBjCk | i * j = k; i, j, k ≥ 1} ดังนี้แสดงถึงภาษาประเภทหนึ่งที่เราจะใช้ตัวอักษรแค่สามตัวคือ A, B และ C w คือสตริง เช่นถ้า w = AABBBBCCCCCCCC Turing machine จะยอมรับมันเพื่อแก้ปัญหานี้ เราจะใช้วิธีการนี้:แทนที่ A หนึ่งตัวด้วย x และเค

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:116/301  20-คอมพิวเตอร์/Page Goto:1 110 111 112 113 114 115 116 117 118 119 120 121 122