Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. โปรแกรม C++ แปลงหลักตัวเลขเป็นคำด้วยเงื่อนไข

    สมมติว่ามีหลักตัวเลข d ต้องแปลงเป็นคำอ่าน เช่น d = 9 → Nine หาก d นอกช่วง 0-9 แสดงข้อความเหมาะสม เช่น d = 3 ผลลัพธ์: Three ขั้นตอนการแก้ปัญหา ฟังก์ชัน solve(d) ตรวจสอบ d: ถ้า d < 0 หรือ d > 9: Beyond range of 0 - 9 else if 0-9: คืนคำอ่าน Zero ถึง Nine ตัวอย่างโค้ด #include <iostrea

  2. โปรแกรม C++ แปลงตัวเลขในช่วงเป็นคำอ่าน

    สมมติว่ามีตัวเลข a และ b ต้องแปลงตัวเลขแต่ละตัวในช่วง a ถึง b เป็นคำอ่านพิมพ์ทีละบรรทัด เช่น 5 → Five เช่น a = 2, b = 6 ผลลัพธ์: Two Three Four Five Six ขั้นตอนการแก้ปัญหา ฟังก์ชัน solve(d): ถ้า d < 0 หรือ d > 9: Beyond range of 0 - 9 else if ตรง 0-9: คืนคำอ่าน Zero ถึง Nine ใน main วนล

  3. โปรแกรม C++ หาค่าสูงสุดจาก 4 จำนวนเต็ม

    สมมติว่ามีจำนวนเต็ม 4 ตัว a, b, c, d ต้องหาค่าสูงสุดโดยสร้างฟังก์ชัน max() เอง รับ 2 ตัวคืนค่าสูงสุด แล้วหาค่าสูงสุดของทั้ง 4 เช่น a = 75, b = 18, c = 25, d = 98 ผลลัพธ์: 98 ขั้นตอนการแก้ปัญหา ฟังก์ชัน max(x, y) คืนค่าสูงสุดของ x, y left_max = max(a, b) right_max = max(c, d) final_max = max(left

  4. โปรแกรม C++ หาผลบวกและผลลบด้วยการเรียกฟังก์ชันแบบ Call by Address

    สมมติว่ามีตัวเลข a และ b ต้องสร้างฟังก์ชันคำนวณ (a+b) และ (a-b) พร้อมกัน แต่ฟังก์ชันคืนค่าได้แค่ค่าเดียว จึงใช้ output parameters ด้วย pointer เรียกฟังก์ชันส่ง address ของตัวแปร อัปเดต a = a+b, b = a-b เช่น a = 15, b = 18 ผลลัพธ์: a + b = 33 and a - b = -3 ขั้นตอนการแก้ปัญหา ฟังก์ชัน solve(int *

  5. โปรแกรม C++ กลับลำดับสมาชิกในอาเรย์ (In-place)

    สมมติว่ามีอาเรย์ n สมาชิก ต้องกลับลำดับสมาชิกในอาเรย์จริง (in-place) แล้วแสดง ไม่ใช่พิมพ์ย้อนหลัง เช่น n = 9 arr = [2,5,6,4,7,8,3,6,4] ผลลัพธ์: [4,6,3,8,7,4,6,5,2] ขั้นตอนการแก้ปัญหา วนลูป i = 0 ถึง n/2 - 1: temp := arr[i] arr[i] := arr[n - i - 1] arr[n - i - 1] := temp วนลูปพิมพ์ arr[i] ทุกต

  6. โปรแกรม C++ แยกจำนวนเต็มจากสตริงคั่นด้วยคอมมา

    สมมติว่ามีสตริงที่มีจำนวนเต็มคั่นด้วยคอมมา ต้องแยกออกมาแสดงแต่ละจำนวนในบรรทัดต่างกัน ใช้ stringstream (sstream) ใน C++ เช่น s = 56,9,85,256,47 ผลลัพธ์: 56 9 85 256 47 ขั้นตอนการแก้ปัญหา ฟังก์ชัน take_int(str): สร้าง stringstream ss(str) วนลูปอ่าน int tmp จาก ss push_back เข้า result ข้ามคอมมาด้

  7. โปรแกรม C++ หาความยาวสตริง ต่อสตริง และสลับตัวอักษรแรก

    สมมติว่ามีสตริง s และ t ต้องแสดงผล 3 บรรทัด: บรรทัด 1 ความยาว s และ t คั่น space บรรทัด 2 ต่อ s + t บรรทัด 3 s และ t คั่น space แต่สลับตัวอักษรแรก เช่น s = hello, t = programmer ผลลัพธ์: 5 10 helloprogrammer pello hrogrammer ขั้นตอนการแก้ปัญหา พิมพ์ s.length() space t.length() พิมพ์ s + t temp :

  8. โปรแกรม C++ สร้างข้อมูลนักเรียนด้วย Struct และแสดงผล

    รับ first_name, last_name, age, class ของนักเรียนจากบรรทัดต่างๆ ใช้ struct ใน C++ อ่านค่าและแสดงในรูปแบบ (age, first_name, last_name, class) age และ class เป็น int, ชื่อเป็น string เช่น อินพุต: priyam kundu 16 10 ผลลัพธ์: (16, priyam, kundu, 10) ขั้นตอนการแก้ปัญหา สร้าง struct Student มี first_n

  9. โปรแกรม C++ จัดเก็บข้อมูลนักเรียนด้วย Data Hiding และ Encapsulation

    สร้างข้อมูลนักเรียนแบบ Data Hiding และ Encapsulation มี first_name, last_name, age, class เป็น private ต้องมี getter/setter และ to_string() แสดงในรูปแบบ (age, first_name, last_name, class) รับอินพุต 4 ค่า ตั้งค่าผ่าน setter แสดงผ่าน getter และ to_string() เช่น อินพุต: priyam kundu 16 10 ผลลัพธ์: 1

  10. โปรแกรม C++ นับนักเรียนที่คะแนนมากกว่าคนแรก

    สมมติว่ามีนักเรียน n คน แต่ละคนมีคะแนน 5 วิชา คนแรกคือ กมล ต้องนับจำนวนนักเรียนที่คะแนนรวมมากกว่ากมล สร้างคลาส Student มี Input() รับคะแนน และ calculateTotalScore() คำนวณผลรวม เช่น n = 4 scores = [[25,45,32,42,30],[22,25,41,18,21],[37,42,48,45,25],[36,48,35,40,30]] ผลลัพธ์: 2 (คนที่ 3 และ 4 มากกว่

  11. โปรแกรม C++ สร้างคลาสกล่อง คำนวณปริมาตรและเปรียบเทียบด้วยโอเปอเรเตอร์น้อยกว่า

    สร้างคลาส Box มีเงื่อนไข: แอตทริบิวต์ l, b, h (private) Constructor ไม่มีพารามิเตอร์ (ตั้งค่า 0) และมีพารามิเตอร์ Getter สำหรับแต่ละแอตทริบิวต์ CalculateVolume() คืนค่าปริมาตร โหลดโอเปอเรเตอร์ < เปรียบเทียบกล่อง ตัวนับจำนวนกล่องที่สร้าง (static count) เช่น สร้าง 3 กล่อง (0,0,0), (5,8,3), (6,

  12. โปรแกรม C++ ลบรายการจาก Vector ด้วย erase()

    สมมติว่าเรามีชุดข้อมูลใน vector ต้องลบรายการด้วยฟังก์ชัน erase() โดยใช้ index ฟังก์ชัน erase ไม่รับ index โดยตรง ต้องส่ง address ผ่าน v.begin()+index เช่น v = [5,8,6,3,2,0,1,4] ลบ index 2, 6, 5 ผลลัพธ์: [5,8,3,2,0] ขั้นตอน: ลบ index 2 → [5,8,3,2,0,1,4] ลบ index 6 (คือ 4) → [5,8,3,2,0,1] ลบ index 5

  13. โปรแกรม C++ Insert Delete Find ด้วย Set STL

    สมมติว่าเราใช้ set เก็บจำนวนเต็ม รับ n คิวรี แต่ละคิวรี 2 ค่า: type และ element type 1 = insert, type 2 = delete, type 3 = search (พิมพ์ Yes/No) เช่น n = 7, queries = [[1,5],[1,8],[1,3],[2,8],[1,9],[3,8],[3,3]] ผลลัพธ์: [No, Yes] ขั้นตอนการแก้ปัญหา สร้าง set<int> s และ iterator it q := จำน

  14. โปรแกรม C++ จัดการข้อมูลนักเรียนด้วย Map STL

    สมมติว่าเราใช้ map เก็บข้อมูลนักเรียน key คือเลขประจำตัว (int) value คือชื่อ (string) รับ n คิวรี แต่ละคิวรีมี 2-3 ค่า: type 1 = insert (roll, name), type 2 = delete (roll), type 3 = search (roll) เช่น n = 8, queries = [[1,5,Atanu], [1,8,Tapan], [1,3,Manish], [2,8], [1,9,Piyali], [3,8], [3,3], [3,

  15. โปรแกรม C++ ทดสอบการสืบทอดด้วยคลาสสามเหลี่ยม

    สมมติว่าเราต้องการสร้างคลาส Triangle และคลาสลูก Isosceles Triangle มีฟังก์ชันพิมพ์ว่าเป็นสามเหลี่ยม Isosceles มีฟังก์ชันแสดงว่าเป็นสามเหลี่ยมหน้าจั่วและคำอธิบาย ต้องเรียกฟังก์ชันของคลาสพ่อผ่านออบเจกต์ Isosceles หากสร้างออบเจกต์ trg เรียก trg.isosceles(), trg.description(), trg.triangle() ผลลัพธ์:

  16. โปรแกรม C++ สร้างคลาสสี่เหลี่ยมผืนผ้าและคำนวณพื้นที่

    สมมติว่าเราได้รับความยาวและความกว้างของสี่เหลี่ยม 2 รูป ต้องคำนวณพื้นที่โดยใช้คลาส สร้างคลาส Rectangle มีแอตทริบิวต์ l, b และฟังก์ชัน area() คืนค่าพื้นที่ เช่น (10,9), (8,6) ผลลัพธ์: 90 และ 48 ขั้นตอนการแก้ปัญหา สร้างคลาส Rectangle มี l, b เป็น private ฟังก์ชัน input(len, bre) ตั้งค่า l, b ฟังก์

  17. โปรแกรม C++ บวกข้อมูลหลายประเภทด้วย Class Templates

    สมมติว่าเราต้องการสร้างคลาสที่บวกได้ทั้ง int, float และ string (string คือการต่อสตริง) อินพุตแรกคือ n จำนวนออเปอเรชัน แต่ละออเปอเรชันมี 3 ส่วน: ประเภท [int, float, string] และตัวถูกดำเนินการ 2 ตัว เช่น อินพุต: 5 int 5 7 int 6 9 float 5.25 9.63 string hello world string love C++ ผลลัพธ์: 12 15 14.8

  18. โปรแกรม C++ โหลดโอเปอเรเตอร์บวก (+) สำหรับจำนวน مختلط (Complex)

    สมมติว่าเรามีคลาสจำนวน مختلط (Complex) ที่มีส่วนจริง (real) และส่วนจินตภาพ (imag) ต้องโหลดโอเปอเรเตอร์บวก (+) เพื่อบวกจำนวน مختلط 2 ตัว และมีฟังก์ชันแสดงผลในรูปแบบมาตรฐาน เช่น c1 = 8 - 5i, c2 = 2 + 3i ผลลัพธ์: 10 - 2i ขั้นตอนการแก้ปัญหา โหลดโอเปอเรเตอร์ + รับ Complex c2 เป็นอาร์กิวเมนต์ สร้าง Co

  19. โปรแกรม C++ สร้างข้อยกเว้นสำหรับชื่อผู้ใช้สั้นและตรวจสอบความถูกต้อง

    สมมติว่าเรามีสตริงชื่อผู้ใช้ ต้องตรวจสอบความถูกต้องตามเงื่อนไข: กำหนดข้อยกเว้น (exception) เมื่อชื่อสั้นกว่า 5 ตัวอักษร คืนค่า Valid สำหรับชื่อถูกต้อง Invalid สำหรับชื่อไม่ถูกต้อง และโยนข้อยกเว้นสำหรับชื่อสั้นเกินไป เงื่อนไขชื่อถูกต้อง: ยาวอย่างน้อย 5 ตัวอักษร ไม่มี w ติดกัน 2 ตัว เช่น unames

  20. โปรแกรม C++ หาค่าสูงสุดของซับอาเรย์ติดกันขนาด k

    สมมติว่าเรามีอาเรย์ n สมาชิก และค่า k ต้องหาค่าสูงสุดของแต่ละซับอาเรย์ติดกันขนาด k เช่น arr = [3,4,6,2,8], k = 3 ผลลัพธ์: 6 6 8 ซับอาเรย์ขนาด 3 คือ [3,4,6], [4,6,2], [6,2,8] ค่าสูงสุดคือ 6, 6, 8 ขั้นตอนการแก้ปัญหา (Sliding Window + Deque) สร้าง deque Qi ประมวลผล k ตัวแรก: ลบตัวเล็กกว่าหรือเท่ากั

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