สมมติว่าเรามีเมทริกซ์ขนาด 3 x 3 ที่มี 'X' และ '.' เราต้องตรวจสอบว่ารูปแบบนั้นสมมาตรตรงกลางหรือไม่ (เพิ่มเติมเกี่ยวกับความสมมาตรตรงกลาง − https://en.wikipedia.org/wiki/Central_symmetry)
ดังนั้นหากอินพุตเป็นแบบ
X | X | |
X | X |
แล้วผลลัพธ์จะเป็น True
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
ถ้า M[0, 0] เหมือนกับ M[2, 2] และ M[0, 1] เหมือนกับ M[2, 1] และ M[0, 2] เหมือนกับ M[2, 0 ] และ M[1, 0] เหมือนกับ M[1, 2] จากนั้นให้คืนค่า true มิฉะนั้นจะคืนค่าเท็จ
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#includeใช้เนมสเปซ std;bool แก้ปัญหา(vector > M){ if (M[0][0] ==M[2][2] &&M[ 0][1] ==M[2][1] &&M[0][2] ==M[2][0] &&M[1][0] ==M[1][2]) ย้อนกลับ จริง; else คืนค่า false;}int main (){ vector > matrix ={ { 'X', 'X', '.' }, { '.', '.', '.' }, { '.', 'X', 'X' } }; ศาล <<แก้ (เมทริกซ์) < อินพุต
<ก่อน>{ { 'X', 'X', '.' }, { '.', '.', '.' }, { '.', 'X', 'X' } } }
ผลลัพธ์
1