โปรแกรมบวกลบเมทริกซ์ง่ายๆ by C++ (ตอนที่ 1)

สวัสดีครับชาวเอนจิเนียร์อินดี้ เจอกันอีกแล้ว
โพสนี้แอดมินจะเอาเทอมโปรเจคสายโปรแกรมมิ่งแบบง่ายๆ (ย้ำ ง่ายๆ) มาฝาก
เป็นโปรแกรมบวกลบเมทริกซ์ ซึ่งจะใช้ภาษาซีพลัสพลัสเขียน
ตัวโปรแกรมเหมาะมากสำหรับการเรียนรู้โปรแกรมมิ่ง เพราะครอบคุมส่วนต่างๆในการเรียนโปรแกรมมิ่งขั้นพื้นฐานทั่วไป ทั้งการแสดงผลทางหน้าจอ การรับอินพุต If-Else, Loop, Array, Struct และอื่นๆ

ดังนั้นโปรแกรมนี้จึงเหมาะสำหรับผู้สนใจโปรแกรมมิ่งเบื้องต้นอย่างมาก
และสามารถเป็นแนวทางต่อผู้ที่จะนำไปทำเป็นเทอมโปรเจค (สายฟรีดอม) ได้อีกด้วย
เพื่อไม่ให้เสียเวลาไปเริ่มกันเลยดีกว่า
เออลืมบอกไปอีกอย่างนะ ดูไปแค่คอนเซปก็พอ เพราะตัวโปรแกรมบั๊คเพียบเลย ฮะๆ

เมทริกซ์คือ ???

หลายท่านคงจะทราบกันดีหรือถ้ายังไม่ทราบก็จะอธิบายตรงนี้ว่า
มันคือ ตารางสี่เหลี่ยมที่แต่ละช่องบรรจุจำนวนหรือโครงสร้างทางคณิตศาสตร์ที่สามารถนำมาบวกและคูณกับตำเลขได้ เราสามารถใช้เมทริกซ์แทนระบบสมการเชิงเส้น และใช้เก็บข้อมูลที่ขึ้นกับตัวแปลต้นสองตัว เมทริกซ์จึงเป็นแนวคิดที่มีความสำคัญต่อพีชคณิตเชิงเส้นอย่างมาก #Wikipedia
สำหรับ ม.6 คงได้เรียนกันมาบ้าง ใครสนใจลองศึกษาดูไม่ยากครับ


ออกแบบโปรแกรม

  • โปรแกรมต้อง Insert เมทริกซ์ได้ก่อน
  • มีบวกกับลบเมทริกซ์
  • มี Transpose (มันก็คือการสลับสมาชิกจากแถวเป็นหลัก จากหลักเป็นแถว)
  • เมทริกซ์ต้องคูณกับค่าคงที่ได้
ส่วนนี้คือออกแบบว่าอยากให้โปรแกรมมีอะไรบ้างก็เขียนไป

เริ่มเขียนกันเลย

เท่านี้ก่อนครับ อย่างแรกต้องสร้าง Struct ขึ้นมาก่อนตั้งชื่อว่า matrix
ใน matrix ก็ต้องมี
  • ชื่อ matrix
  • ขนาดเมทริกซ์ ผมเก็บไว้ในตัวแปล x,y
  • ตัวสำคัญก็คือ อาเรย์ 2 มิติครับ
แล้วก็สร้างเมทริกมาหนึ่งตัวชื่อ one เหมือนเป็นการ new เรียกเอามาใช้งานครับ
ในเมนตอนนี้ก็ยังไม่มีอะไรครับ แสดงคำสั่งว่าจะให้ผุ้ใช้กดอะไรได้มั่ง

สร้างฟังก์ชัน Insert Matrix เนื่องจากไม่ Return ค่าดังนั้นใช้เป็น Void นะครับ


ก่อนเขียนฟังก์ชันนี้ก็สร้างตัวแปรแบบโกลบอลขึ้นมาก่อน 2 ตัว
คือ z กับ g ชนิด int เซตค่าให้เป็น 0 ด้วยนะครับ

ไปดูในฟังก์ชันเลย

  1. ให้ผู้ใช้กรอกชื่อของเมทริกซ์
  2. กรอกขนาดของแถว
  3. กรอกขนาดของหลัก
  4. วนลูปตามการคำนวณหลักและแถว เพื่อให้ผู้ใช้กรอกข้อมูลทีละช่อง เช่นเมริกซ์ขนาด 2*3 ผู้ใช้จะต้องกรอกข้อมูลทั้งหมด 6 ตัว เป็นต้น
  5. วนลูปเพื่อแสดงชื่อและเมทริกซ์ของผู้ใช้  
จบแล้วในฟังก์ชัน Insert ต้องลองเขียนเองดูครับ ไม่ยากแต่อาจงงหน่อย
เพราะต้องใช้ Struct ร่วมกับ Array 2 มิติ

จากนั้นในเมนให้ใส่เพิ่มไปประมาณนี้ ก่อนหน้าคำสั่ง getch();

ส่วนนี้คือถ้ากด 1 จะเป็นการเรียก ฟังก์ชัน Insert ขึ้นมานั่นเอง
โดยที่การกด 5 จะเป็นการออกจากโปรแกรม

สุดท้ายจะได้ประมาณนี้

คร่าวๆล่ะกันเนาะ อันไหนผมใส่ตัวเลขก็ใส่ตามผมนะ อย่าไปลองใส่ตัวอักษรล่ะ เดี๋ยวบั๊คกระจาย

เอาเป็นว่าลองไปเล่นดูก่อนล่ะกัน
เพื่อจะมีไอเดียอะไรเพิ่ม หรือถ้าใครคิดได้แหล่มกว่าแอดมินลองเอามาแชร์กันนะ
โพสนี้เท่านี้ก่อนแล้วกัน เดี๋ยวมาต่อ

ที่สำคัญอย่างที่เคยบอกไปตอนต้นคือ บั๊คมันเยอะ เอาไปแค่คอนเซปล่ะกัน
และสำหรับยูสเซอร์อ่านคำสั่งดีๆ ถ้าเค้าให้ใส่ตัวเลขก็ใส่ตัวเลขนะ อย่าทะลึ่งใส่ตัวอักษร
ไม่อย่างนั้นจะหาว่าไม่เตือน อิอิ

***** (02/03/2013) พอดีแอดมินตั้งให้บทความไม่สามารถ Copy ได้ ดังนั้น ให้ไปโหลดโปรแกรมตัวเต็มมาลองเล่นได้เลยนะครับ ขอบอกว่าโค๊ดยาวมากเพราช่วงที่แอดมินเขียนโปรแกรมนี้ยังไม่ถนัด OOP บางฟังก์ชันยังไม่ได้ทำ และทำให้แอดมินขอไม่เขียนตอนที่ 2 เพราะให้ไปแกะโค๊ดเอา อิอิ ***** 

โปรแกรมตัวเต็ม >>> ดาวน์โหลดโค๊ดที่นี่

Popular posts from this blog

"yes" "yeah" "yep" เหมือนและต่างกันอย่างไร ?

วิธีใช้ Google Chrome Extension บน Microsoft Edge (Chromium)

รีวิว Dentiste Mastic Mint Bomb เม็ดอมที่ไม่ได้มีดีแค่ความสดชื่น

รีวิว ปีเตอร์แมน Peter Man วิธีกำจัดแมลงสาบ เห็นผลไว Cockroach Killer Gel Bait (ฉบับเรื่องเล่า)

ฝากโค๊ด Online ด้วย Pastebin กันเถอะครับ !!