Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. โปรแกรม C++ โหลดโอเปอเรเตอร์แทรก (<<) สำหรับคลาส Person

    สมมติว่าเรามีคลาส Person ที่มีแอตทริบิวต์ first_name และ last_name พร้อมเมธอด get_first_name() และ get_last_name() เราต้องโหลดโอเปอเรเตอร์แทรก (<<) เพื่อพิมพ์ชื่อ-นามสกุลผ่าน cout เช่น Person p(Sumit, Ray) ผลลัพธ์: First name - Sumit, Last name - Ray ขั้นตอนการแก้ปัญหา โหลดโอเปอเรเตอร์ << นอกจาก

  2. โปรแกรม C++ โหลดโอเปอเรเตอร์บวก (+) สำหรับบวกแมทริกซ์

    สมมติว่าเรามีแมทริกซ์ mat1 และ mat2 เราต้องบวกทั้งสองแมทริกซ์ให้ได้แมทริกซ์ที่สาม โดยการโหลดโอเปอเรเตอร์บวก (+) เช่น mat1 = [[5,8],[9,6],[7,9]], mat2 = [[8,3],[4,7],[6,3]] ผลลัพธ์: 1311 1313 1312 ขั้นตอนการแก้ปัญหา โหลดโอเปอเรเตอร์ + รับอีกแมทริกซ์หนึ่งเป็นอาร์กิวเมนต์ สร้างอาเรย์ 2 มิติ vv

  3. โปรแกรม C++ พิมพ์ค่าประเภทข้อมูลต่างๆ ตามอินพุต

    สมมติว่าเราได้รับค่าประเภท integer, long, character, float และ double เป็นอินพุต เราต้องพิมพ์ค่าเหล่านั้นรักษาความแม่นยำ เช่น integer = 15, long = 59523256297252, char = y, float = 367.124, double = 6464292.312621 ผลลัพธ์: 15 59523256297252 y 367.124 6464292.31262 ขั้นตอนการแก้ปัญหา พิมพ์ค่าที่ร

  4. โปรแกรม C++ ค้นหาค่าในอาเรย์ที่จัดเรียงแล้ว

    สมมติว่าเราได้รับอาเรย์ arr ที่มี n จำนวนเต็มเรียงลำดับแล้ว และอาเรย์ query ขนาด q เราต้องบอกว่าแต่ละค่าใน query มีอยู่ใน arr หรือไม่ ถ้ามีพิมพ์ Present พร้อมตำแหน่ง (1-indexed) ถ้าไม่มีพิมพ์ Not present พร้อมตำแหน่งของค่าน้อยที่สุดที่มากกว่าค่าใน query เช่น n = 8, arr = {1, 2, 3, 4, 7, 9, 12, 15}

  5. โปรแกรม C++ พิมพ์ค่าในรูปแบบที่กำหนด

    สมมติว่าเราได้รับค่า double 3 ค่า ต้องจัดรูปแบบและพิมพ์ดังนี้: ค่าที่ 1: พิมพ์ส่วนจำนวนเต็มในรูปแบบฐานสิบหก (hex) ตัวพิมพ์เล็ก ค่าที่ 2: พิมพ์ทศนิยม 2 ตำแหน่ง มีเครื่องหมาย + หรือ - ชิดขวา ความกว้าง 15 ตัวอักษร เติม _ ด้านซ้าย ค่าที่ 3: พิมพ์ทศนิยม 9 ตำแหน่งในรูปแบบสัญลักษณ์วิทยาศาสตร์ (scientific

  6. โปรแกรม C++ สาธิตการสืบทอดหลายระดับ (Multi-level Inheritance)

    สมมติว่าเรามี 3 คลาสคือ Vehicle, FourWheeler และ Car คลาส Vehicle เป็นคลาสพื้นฐาน FourWheeler สืบทอดจาก Vehicle และ Car สืบทอดจาก FourWheeler คลาส Vehicle มีเมธอด vehicle() พิมพ์ I am a vehicle FourWheeler มี fourWheeler() พิมพ์ I have four wheels Car มี car() พิมพ์ I am a car เนื่องจากเป็น multi-l

  7. โปรแกรม C++ สาธิตการใช้แมโคร (Macros)

    สมมติว่าเราได้รับอาเรย์จำนวนเต็ม เราต้องหาผลต่างระหว่างค่าสูงสุดและค่าต่ำสุดในอาเรย์ โดยต้องใช้แมโคร (macros) ในการแก้ปัญหา รับอินพุตจาก stdin และพิมพ์ผลลัพธ์ไป stdout เช่น หาก array = {120, 589, 324, 221, 234} ผลลัพธ์จะเป็น The answer is : 469 ผลต่างระหว่างค่าสูงสุด 589 และค่าต่ำสุด 120 คือ 469

  8. โปรแกรม C++ สาธิตการจัดการข้อยกเว้น (Exception Handling)

    สมมติว่ามีฟังก์ชันที่คำนวณการดำเนินการทางคณิตศาสตร์ที่ซับซ้อน ระหว่างดำเนินการอาจเกิดข้อยกเว้น (exceptions) เราต้องจัดการข้อยกเว้นประเภทต่างๆ ดังนี้: ถ้าหน่วยความจำไม่เพียงพอ (bad_alloc) ให้พิมพ์ Memory Low! ถ้าเป็นข้อยกเว้นมาตรฐาน C++ อื่นๆ ให้พิมพ์ Exception: ตามด้วยรายละเอียด ถ้าเป็นข้อยกเว้นอื

  9. โปรแกรม C++ บวกเลขใหญ่หลายตัว

    สมมติว่าเรามีอาเรย์ nums ที่เก็บเลขใหญ่หลายตัว โดยเลขเหล่านี้อยู่ในช่วง -2^31 ถึง 2^31 - 1 เราต้องหาผลรวมของเลขเหล่านี้ เช่น หาก nums = [5000000003, 3000000005, 8000000007, 2000000009, 7000000011] ผลลัพธ์จะเป็น 25000000035 ขั้นตอนการแก้ปัญหา x := 0 (ใช้ long long เพื่อรองรับเลขใหญ่) วนลูปผ่านทุก

  10. โปรแกรมหาต้นทุนขั้นต่ำเชื่อมพิกัด Cartesian ใน C++

    สมมติว่าเรามีรายการพิกัด 2D แบบ Cartesian (x, y) เราสามารถเชื่อม (x0, y0) และ (x1, y1) ได้ โดยต้นทุนคือ |x0 - x1| + |y0 - y1| (ระยะทางแมนฮัตตัน) หากเราได้เชื่อมจุดได้ไม่จำกัดจำนวน เราต้องหาต้นทุนขั้นต่ำที่ทำให้ทุกจุดเชื่อมต่อกันโดยมีพาธ เช่น หาก points = [[0, 0],[0, 2],[0, -2],[2, 0],[-2, 0], [2,

  11. โปรแกรมหาจำนวนซับแมทริกซ์ที่เป็น 1 ทั้งหมดใน C++

    สมมติว่าเราได้รับแมทริกซ์ที่มีค่าแค่ 0 และ 1 เราต้องหาจำนวนซับแมทริกซ์ที่ประกอบด้วย 1 เท่านั้น เช่น หากอินพุตเป็นแมทริกซ์ 4x4 ดังนี้: 0010 0100 0101 1101 ผลลัพธ์จะเป็น 12 ขั้นตอนการแก้ปัญหา n := จำนวนแถว, m := จำนวนคอลัมน์ สร้างอาเรย์ 2 มิติ add ขนาด (n+1) x (m+1) สำหรับ Prefix Sum 2D คำนวณ

  12. โปรแกรมหาจำนวนซับแมทริกซ์ที่ผลรวมเท่าค่าเป้าหมายใน C++

    สมมติว่าเราได้รับแมทริกซ์ที่มีค่าจำนวนเต็ม เราต้องหาจำนวนซับแมทริกซ์ที่ผลรวมของสมาชิกเท่ากับค่าเป้าหมาย (target sum) ที่กำหนด เช่น หากอินพุตเป็นแมทริกซ์ 4x4 ดังนี้: 0010 0100 0101 1101 และ target = 5 ผลลัพธ์จะเป็น 3 ขั้นตอนการแก้ปัญหา n := จำนวนแถวของ mat, m := จำนวนคอลัมน์ ถ้า m > n ให้ท

  13. โปรแกรมหาต้นทุนขั้นต่ำในการรวมอาเรย์จำนวนเต็มใน C++

    สมมติว่าเราได้รับอาเรย์ arr ที่มี n จำนวนเต็มบวก รวมถึงจำนวนเต็ม j งานคือต้องรวม j ตัวเลขให้กลายเป็นตัวเลขเดียวโดยการบวกกัน ต้นทุนการรวมเท่ากับผลรวมของ j ตัวเลขที่เลือก เราต้องหาต้นทุนรวมขั้นต่ำสำหรับการดำเนินการนี้ เช่น หาก arr = [2, 5, 6, 2, 3, 1, 3], j = 4 ผลลัพธ์จะเป็น 31 ต้นทุนการรวม 2, 3, 1

  14. โปรแกรมถอดรหัสข้อความที่เข้ารหัสใน C++

    สมมติว่าเราได้รับข้อความที่เข้ารหัสเป็นสตริงของตัวเลขจำนวนเต็ม ตัวเลขเหล่านี้สามารถแมปไปยังตัวอักษรเฉพาะในอักษรภาษาอังกฤษได้ โดย a แมปเป็น 1, b แมปเป็น 2, c แมปเป็น 3 และต่อไปจนถึง z เป็น 26 นอกจากนี้ยังมีอักขระ * ที่อาจปรากฏในข้อความซึ่งสามารถแมปเป็นตัวเลข 1 ถึง 9 ใดๆ ก็ได้ ดังนั้นเมื่อได้รับข้อคว

  15. โปรแกรมแปลงจำนวนเต็มบวกเป็นคำอ่านภาษาอังกฤษใน C++

    ได้รับจำนวนเต็มบวก แปลงเป็นคำอ่านภาษาอังกฤษ รองรับถึง 1 พันล้าน (Billion) เช่น 56 → Fifty-Six ตัวอย่าง Input: 5678 Output: Five Thousand Six Hundred Seventy Eight อัลกอริทึม: Recursive Lookup Table ตาราง numbers: vector of pair เรียงจากใหญ่ไปเล็ก (Billion, Million, Thousand, Hundred, Ninety, ...

  16. โปรแกรมหาความต่างคู่ที่ k-th น้อยที่สุดในอาร์เรย์ C++

    ได้รับอาร์เรย์จำนวนเต็ม หาความต่างระหว่างทุกคู่ (pair) หาค่าที่ k-th น้อยที่สุด (index เริ่ม 0) ตัวอย่าง Input: numbers = {2, 6, 4, 8}, k = 2 Output: 2 คำอธิบาย: ความต่างคู่: (2,6)=4, (2,4)=2, (2,8)=6, (6,4)=2, (6,8)=2, (4,8)=4 → เรียง: 2,2,2,4,4,6 → index 2 = 2 อัลกอริทึม: Binary Search + Two Po

  17. โปรแกรม C++ หาจำนวนหนังที่ผู้เข้าร่วมดูได้เต็มที่ในงานเทศกาลภาพยนตร์

    มีเทศกาลภาพยนตร์ หลายเรื่อง ผู้เข้าร่วมอยากดูหนังมากที่สุดโดยไม่ทับซ้อนเวลา หาจำนวนหนังสูงสุดที่ดูจบได้ โครงสร้างข้อมูล struct Movie: timeBegin (เริ่ม), duration (ระยะเวลา), timeEnd (จบ = เริ่ม + ระยะเวลา) struct Festival: count (จำนวนหนัง), vector movies ตัวอย่าง Input: timeBegin = {1,3,0,5,5,

  18. โปรแกรม C++ หาค่าที่ไม่ซ้ำกันในลำดับ (Sequence) ที่กำหนด

    ได้รับจำนวนเต็ม 4 ตัว: n, x, y, z สร้างลำดับ (sequence) โดย: ตัวแรก: a₀ = x mod 2³¹ ตัวถัดไป: aᵢ = (aᵢ₋₁ × y + z) mod 2³¹ สำหรับ 1 ≤ i ≤ n-1 หาจำนวนค่าที่ไม่ซ้ำกัน (distinct) ในลำดับนี้ ตัวอย่าง Input: n = 5, x = 1, y = 2, z = 1 Output: 5 คำอธิบาย: ลำดับ: 1, 3, 7, 15, 31 → ไม่ซ้ำทั้งหมด 5 ค่า อ

  19. หา 1 น้อยที่สุดที่ให้พลังทำให้อาร์เรย์บाइनารี powerful ทั้งหมดใน C++

    ได้รับอาร์เรย์บाइनารี (0,1) ขนาดใดก็ได้ และค่า base หาจำนวน 1 น้อยที่สุดที่ ให้พลัง (lend power) ทำให้อาร์เรย์ทั้งหมดเป็น powerful 1 สามารถให้พลังกับตัวติดกันหรือภายในระยะ base ได้ ตัวอย่าง Input: arr[] = {1,1,0,1,1,0,1}, base = 7 Output: Minimum 1s to lend power to make whole array powerful are:

  20. จำนวนรอบน้อยที่สุดในการส่งข้อมูลให้ทุกโหนดในต้นไม้ (Tree) ใน C++

    ได้รับต้นไม้ (Tree) มี n โหนด ราก (root) ส่งข้อมูลให้ลูกได้ทีละ 1 ต่อรอบ ลูกก็ส่งให้ลูกของมันทีละ 1 พร้อมกัน รากส่งให้ลูกตัวอื่นได้ในรอบเดียวกัน หาจำนวนรอบน้อยที่สุดที่ข้อมูลถึงทุกโหนด ตัวอย่าง Input: Tree 11 โหนด (รูปภาพ) Output: Minimum no. of iterations to pass information to all nodes in the t

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:272/301  20-คอมพิวเตอร์/Page Goto:1 266 267 268 269 270 271 272 273 274 275 276 277 278