Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. โปรแกรม C++ แก้ปัญหา Traveling Salesman สำหรับกราฟไม่มีน้ำหนัก

    Traveling Salesman Problem ใช้คำนวณเส้นทางสั้นที่สุดเพื่อเยี่ยมชมเมืองทั้งหมดและกลับมายังเมืองต้นทาง ใช้หาเส้นทางสั้นที่สุดครอบคลุมโหนดทั้งหมดของกราฟ นี่คือโปรแกรมหาเส้นทางสั้นที่สุดของกราฟไม่มีน้ำหนัก (unweighted graph) อัลกอริทึม เริ่มต้น กำหนดตัวแปร vr = 4 แบบ global ประกาศฟังก์ชัน integer TS

  2. โปรแกรม C++ หาผลรวมสูงสุดของ Subarray ด้วย Binary Search

    Binary search เป็นอัลกอริทึมค้นหาที่รวดเร็วด้วยความซับซ้อน O(log n) ทำงานหลักการแบ่งและเอาชนะ (divide and conquer) ต้องการข้อมูลที่เรียงลำดับแล้ว Binary search เปรียบเทียบค่ากลางของชุดข้อมูล หากตรงกันคืนดัชนี หากค่ากลางมากกว่า ค้นหาในส่วนซ้าย มิฉะนั้นค้นหาในส่วนขวา ทำซ้ำจนขนาด subarray เหลือศูนย์ นี

  3. โปรแกรม C++ สร้าง Sparse Array

    Sparse matrix คือเมทริกซ์ที่ส่วนใหญ่ของสมาชิกเป็น 0 ตัวอย่างเมทริกซ์ด้านล่างมี 0 ทั้งหมด 5 ตัว เนื่องจากจำนวน 0 มากกว่าครึ่งหนึ่งของสมาชิกทั้งหมด จึงเป็น sparse matrix 0 0 9 5 0 8 7 0 0 อัลกอริทึม เริ่มต้น ประกาศอาร์เรย์ 2D a[10][10] ชนิด integer กำหนดค่าเริ่มต้นบางส่วน ประกาศ i, j, count ชน

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

    โปรแกรมนี้ใช้หาคู่จุดที่ใกล้ที่สุดในอาร์เรย์ อัลกอริทึม สำหรับระยะห่างระหว่างจุดที่ใกล้ที่สุด เริ่มต้น ประกาศฟังก์ชัน Closest_dist_Spoint(poi stp[], int s, double dist, poi &pnt1, poi &pnt2) คืนค่า double ประกาศ Minimum ชนิด double กำหนด Minimum = dist สำหรับ (int i = 0; i < s; ++i) สำ

  5. พิมพ์เลขเฉพาะในช่วงที่กำหนดด้วย C++ STL

    โปรแกรมสำหรับพิมพ์เลขเฉพาะในช่วงที่กำหนด อัลกอริทึม เริ่มต้น ประกาศชนิดข้อมูลผู้ใช้ stl ประกาศ vector number ชนิด stl ประกาศตัวแปร a ชนิด stl ประกาศ vector Prime_Number ชนิด Boolean Prime_Number[0] = false Prime_Number[1] = false ประกาศ b ชนิด integer กำหนด b = sqrt(a) สำหรับ

  6. โปรแกรม C++ สร้างรหัส Prufer สำหรับต้นไม้

    รหัส Prufer (Prufer code) ระบุต้นไม้ได้อย่างเดียว ซึ่งกำหนดโดยผู้ใช้เป็นการแสดงกราฟกับป้ายกำกับ 1 ถึง p ต้นไม้นี้ประกอบด้วย p ป้ายกำกับของโหนด มีลำดับของค่า p-2 อัลกอริทึม EDG[j][1] แล้ว minimum = EDG[j][1] p = j จบถ้า จบถ้า จบลูป DG[EDG[p][0]]-- DG[EDG

  7. โปรแกรม C++ หาค่าต่ำสุดของ Binary Search Tree

    โปรแกรมสำหรับหาค่าต่ำสุดของ Binary Search Tree อัลกอริทึม rt = NULL คืนค่า nd สิ้นสุด เริ่มต้น ประกาศฟังก์ชัน add_node() คืนค่าโครงสร้าง nd รับพารามิเตอร์ pointer nd และ integer d ถ้า nd == NULL คืนค่า new_nd(d) มิฉะนั้น ถ้า d d ประกาศ pointer root ชนิดโครงสร้าง nd กำหนด root = NULL

  8. การเปรียบเทียบ C++ vs Java vs Python

    โปรแกรมกลายเป็นส่วนหนึ่งของชีวิตประจำวัน ทุกอย่างถูกทำให้อัตโนมัติและเชื่อมต่อกับ IoT ภาษาโปรแกรมยอดนิยมในหมู่นักพัฒนาคือ C++, Java, และ Python C++ เป็นภาษาที่คอมไพล์และรวดเร็ว เป็นภาษาแรกที่นักเขียนโปรแกรมหลายคนเรียนรู้ Java โดดเด่นด้วยความเป็นอิสระจากแพลตฟอร์ม และมีแอปพลิเคชันเดสก์ท็อปจำนวนมา

  9. โจทย์เมทริกซ์บูลลีน (Boolean Matrix Question) ใน C++

    นี่คือโจทย์เมทริกซ์บูลลีนน่าสนใจ มีเมทริกซ์บูลลีนที่ประกอบด้วย 0 และ 1 เป้าหมายคือหาตำแหน่งที่มี 1 หากมี 1 ที่ตำแหน่ง mat[i,j] เราจะทำให้ทุกค่าในแถว i และคอลัมน์ j กลายเป็น 1 ตัวอย่าง เมทริกซ์เดิม: 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 หลังปรับปรุง: 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 อัลกอริทึม matrixUpdate(

  10. ปริศนาอาร์เรย์ผลคูณ (O(1) Space) ใน C++

    โจทย์เดียวกันกับ Product Array Puzzle แต่ต้องแก้แบบ in-place โดยไม่ใช้พื้นที่เพิ่มเติม และห้ามใช้การหาร เราแก้โดยใช้ตัวแปร temp เพื่อหาผลคูณของส่วนซ้ายและส่วนขวา ค่านี้จะถูกวางในอาร์เรย์ผลลัพธ์โดยตรง จึงไม่ใช้พื้นที่เพิ่ม อัลกอริทึม productArray(arr, n) เริ่มต้น กำหนดอาร์เรย์ res ขนาด n เติมค่า

  11. ปริศนาอาร์เรย์ผลคูณ (Product Array Puzzle) ใน C++

    นี่คือโจทย์น่าสนใจอีกอย่างเกี่ยวกับอาร์เรย์ มีอาร์เรย์ n สมาชิก ต้องสร้างอีกอาร์เรย์ขนาด n ตำแหน่งที่ i จะเก็บผลคูณของสมาชิกทั้งหมดของอาร์เรย์แรก ยกเว้นสมาชิกที่ i เงื่อนไข: ห้ามใช้เครื่องหมายหาร ถ้าใช้การหารได้ จะง่าย: หาผลคูณทั้งหมด แล้วหารด้วยสมาชิกที่ i และเก็บไว้ที่ตำแหน่ง i ที่นี่เราแก้โดยสร้า

  12. ปริศนาอาร์เรย์ผลรวม (Sum Array Puzzle) ใน C++

    นี่คือโจทย์น่าสนใจเกี่ยวกับอาร์เรย์ มีอาร์เรย์ n สมาชิก ต้องสร้างอีกอาร์เรย์หนึ่งขนาด n เช่นกัน แต่ตำแหน่งที่ i ของอาร์เรย์ที่สองจะต้องเก็บผลรวมของสมาชิกทั้งหมดของอาร์เรย์แรก ยกเว้นสมาชิกที่ i และมีเงื่อนไขห้ามใช้เครื่องหมายลบ ถ้าใช้การลบได้ จะง่ายมาก: หาผลรวมทั้งหมด แล้วลบสมาชิกที่ i ออกและเก็บไว้ท

  13. ความต่างสัมบูรณ์ของสมาชิกคู่ติดกันทั้งหมดในอาร์เรย์ (C++)

    ในโจทย์นี้เราจะหาความต่างสัมบูรณ์ระหว่างสมาชิกของแต่ละคู่ในอาร์เรย์ หากมี n สมาชิก อาร์เรย์ผลลัพธ์จะมี n-1 สมาชิก สมมติอาร์เรย์ {8, 5, 4, 3} ผลลัพธ์คือ |8-5|=3, |5-4|=1, |4-3|=1 อัลกอริทึม pairDiff(arr, n) เริ่มต้น res := อาร์เรย์เก็บผลลัพธ์ สำหรับ i ในช่วง 0 ถึง n-2 ทำ res[i] := |arr[i] - arr[i+

  14. ความต่างสัมบูรณ์ของสมาชิกดัชนีคู่และคี่ในอาร์เรย์ (C++)

    ที่นี่เราจะดูวิธีหาความต่างสัมบูรณ์ของสมาชิกที่อยู่ในดัชนีคู่และคี่ในอาร์เรย์ ความต่างสัมบูรณ์หมายถึงถ้าผลต่างเป็นลบ จะนำค่าสัมบูรณ์มาใช้ ตัวอย่างเช่น อาร์เรย์ {1, 2, 3, 4, 5, 6, 7, 8, 9} สมาชิกดัชนีคู่ (เริ่มจาก 0) คือ 1, 3, 5, 7, 9 และดัชนีคี่คือ 2, 4, 6, 8 ความต่างของดัชนีคู่คือ |1-3|=2, |2-5|=3,

  15. ฟังก์ชัน acos() สำหรับจำนวนเชิงซ้อนใน C++

    ที่นี่เราจะดูเมธอด acos() สำหรับจำนวนเชิงซ้อน จำนวนเชิงซ้อนสามารถใช้ได้ผ่านไฟล์เฮดเดอร์ <complex> ในเฮดเดอร์นี้มีฟังก์ชัน acos() ด้วย นี่คือเวอร์ชันจำนวนเชิงซ้อนของฟังก์ชัน acos() ปกติ ใช้หา cosine กลับ (arc cosine) ของจำนวนเชิงซ้อน ฟังก์ชันนี้รับจำนวนเชิงซ้อนเป็นพารามิเตอร์และคืนค่า arc cosin

  16. ปัญหา Activity Selection (Greedy Algorithm) ใน C++

    มีกิจกรรม n กิจกรรมที่กำหนดเวลาเริ่มต้นและเวลาสิ้นสุด ให้เลือกกิจกรรมสูงสุดที่คนเดียวสามารถทำได้ เราจะใช้แนวคิด Greedy เพื่อหากิจกรรมถัดไปที่มีเวลาสิ้นสุดน้อยที่สุดในกิจกรรมที่เหลือ และเวลาเริ่มต้นมากกว่าหรือเท่ากับเวลาสิ้นสุดของกิจกรรมที่เลือกล่าสุด ความซับซ้อนคือ O(n log n) เมื่อรายการยังไม่เรี

  17. หมายเลข Adam ใน C++

    ในส่วนนี้เราจะดูวิธีเขียนโปรแกรมตรวจสอบว่าเลขที่กำหนดเป็นหมายเลข Adam หรือไม่ ก่อนจะเขียนโค้ด เรามาทำความเข้าใจก่อนว่า Adam number คืออะไร Adam number คือเลข n ที่เมื่อยกกำลังสองของ n และยกกำลังสองของตัวเลขที่กลับลำดับของ n แล้วผลลัพธ์ทั้งสองเป็นตัวเลขที่กลับลำดับของกันและกัน ตัวอย่างเช่น เลข 13 ตัว

  18. การเพิ่มตัวเลขน้อยที่สุดให้ผลรวมอาร์เรย์เป็นเลขคู่ใน C++

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

  19. การบวกสตริงไบนารี n ตัวใน C++

    ในบทความนี้เราจะดูวิธีเขียนโปรแกรมที่สามารถบวกเลขไบนารี n ตัวที่ให้มาในรูปแบบสตริง วิธีที่ง่ายที่สุดคือการแปลงสตริงไบนารีเป็นค่าเทียบเท่าทศนิยม แล้วบวกกันและแปลงกลับเป็นไบนารี แต่ที่นี่เราจะทำการบวกด้วยตนเอง เราจะใช้ฟังก์ชันช่วย addTwoBinary เพื่อบวกสตริงไบนารีสองตัว ฟังก์ชันนี้จะถูกเรียกใช้ n-1 ครั

  20. เพิ่ม N หลักให้ A ให้หารด้วย B ลงตัวหลังทุกครั้งใน C++

    ที่นี่เราจะดูวิธีสร้างตัวเลข A โดยเพิ่ม N หลัก และขณะเพิ่มหลักใหม่ในแต่ละขั้นตอน จะต้องหารด้วยอีกจำนวน B ลงตัว สมมติเราจะสร้างเลข 5 หลักโดยเพิ่ม 4 หลักพิเศษ เราจะตรวจสอบการหารด้วย 7 ตัวเลขจะเริ่มจาก 8 ตอนแรกจะต่อ 4 เข้าไป ตัวเลขจะเป็น 84 ซึ่งหารด้วย 7 ลงตัว จากนั้นเพิ่ม 0 เข้าไป ตัวเลขยังคงหารด้วย

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:65/301  20-คอมพิวเตอร์/Page Goto:1 59 60 61 62 63 64 65 66 67 68 69 70 71