Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ का उपयोग करके 3x3 मैट्रिक्स के विकर्ण को भरें ताकि प्रत्येक पंक्ति, कॉलम और विकर्ण का योग समान हो


मान लीजिए हमारे पास एक 3x3 मैट्रिक्स है, जिसके विकर्ण तत्व पहले खाली हैं। हमें विकर्ण को इस तरह भरना है कि पंक्ति, कॉलम और विकर्ण का योग समान हो। मान लीजिए एक मैट्रिक्स इस तरह है:

C++ का उपयोग करके 3x3 मैट्रिक्स के विकर्ण को भरें ताकि प्रत्येक पंक्ति, कॉलम और विकर्ण का योग समान हो

भरने के बाद, यह इस तरह होगा:

C++ का उपयोग करके 3x3 मैट्रिक्स के विकर्ण को भरें ताकि प्रत्येक पंक्ति, कॉलम और विकर्ण का योग समान हो

मान लीजिए विकर्ण तत्व x, y, z हैं। मान होंगे:

  • x = (M[2, 3] + M[3, 2]) / 2
  • z = (M[1, 2] + M[2, 1]) / 2
  • y = (x + z) / 2

उदाहरण

#include <iostream> 
using namespace std; 

void displayMatrix(int matrix[3][3]) { 
    for (int i = 0; i < 3; i++) { 
        for (int j = 0; j < 3; j++) 
            cout << matrix[i][j] << " "; 
        cout << endl; 
    } 
} 

void fillDiagonal(int matrix[3][3]) { 
    matrix[0][0] = (matrix[1][2] + matrix[2][1]) / 2; 
    matrix[2][2] = (matrix[0][1] + matrix[1][0]) / 2; 
    matrix[1][1] = (matrix[0][0] + matrix[2][2]) / 2; 
    cout << "Final Matrix" << endl; 
    displayMatrix(matrix); 
} 

int main() { 
    int matrix[3][3] = { 
        { 0, 3, 6 }, 
        { 5, 0, 5 }, 
        { 4, 7, 0 }}; 
    cout << "Given Matrix" << endl; 
    displayMatrix(matrix); 
    fillDiagonal(matrix); 
}

आउटपुट

Given Matrix 
0 3 6 
5 0 5 
4 7 0 
Final Matrix 
6 3 6 
5 5 5 
4 7 4

  1. - C++ का उपयोग करके 3x3 मैट्रिक्स के विकर्ण को भरें ताकि प्रत्येक पंक्ति, कॉलम और विकर्ण का योग समान हो

    मान लीजिए हमारे पास एक 3x3 मैट्रिक्स है, जिसके विकर्ण तत्व पहले खाली हैं। हमें विकर्ण को इस तरह भरना है कि पंक्ति, कॉलम और विकर्ण का योग समान हो। मान लीजिए एक मैट्रिक्स इस तरह है: भरने के बाद, यह इस तरह होगा: मान लीजिए विकर्ण तत्व x, y, z हैं। मान होंगे: x = (M[2, 3] + M[3, 2]) / 2 z = (M[1, 2]

  1. C++ में डायगोनल मैट्रिक्स और स्केलर मैट्रिक्स जांचें C++ में डायगोनल मैट्रिक्स और स्केलर मैट्रिक्स जांचें

    एक मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या दर्शाता है और c कॉलम की संख्या दर्शाता है जैसे कि r = c एक स्क्वायर मैट्रिक्स बनाता है। हमें ढूंढना है कि दिया गया स्क्वायर मैट्रिक्स डायगोनल और स्केलर मैट्रिक्स है या नहीं, यदि यह डायगोनल और स्केलर मैट्रिक्स है तो परिणाम मे

  1. - C# का उपयोग करके पंक्ति-वार और कॉलम-वार बढ़ी हुई मैट्रिक्स में खोज कैसे करें?

    इस समस्या का आदिम समाधान इनपुट मैट्रिक्स में संग्रहीत सभी तत्वों को स्कैन करके दिए गए कुंजी को खोजना है। यदि मैट्रिक्स का आकार MxN है तो यह रैखिक खोज दृष्टिकोण O(MN) समय लेता है।मैट्रिक्स को एक क्रमबद्ध एक-आयामी सरणी के रूप में देखा जा सकता है। यदि इनपुट मैट्रिक्स की सभी पंक्तियों को शीर्ष-नीचे क्रम