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

C प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ (Transpose) कैसे निकालें

मैट्रिक्स का ट्रांसपोज़ क्या है?

किसी मैट्रिक्स का ट्रांसपोज़ वह मैट्रिक्स होता है जिसकी पंक्तियाँ (rows) मूल मैट्रिक्स के स्तंभ (columns) होते हैं, और स्तंभ मूल मैट्रिक्स की पंक्तियाँ होते हैं। यदि मैट्रिक्स A का आकार m x n है, तो उसके ट्रांसपोज़ A^T का आकार n x m होगा।

तर्क

for (i = 0; i < m; i++)
    for (j = 0; j < n; j++)
        transpose[j][i] = matrix[i][j];

प्रोग्राम 1: लूप का उपयोग करके ट्रांसपोज़

#include <stdio.h>

int main() {
    int m, n, i, j;
    int matrix[10][10], transpose[10][10];
    
    printf("पंक्तियों और स्तंभों की संख्या दर्ज करें: ");
    scanf("%d %d", &m, &n);
    
    printf("मैट्रिक्स के तत्व दर्ज करें:\n");
    for (i = 0; i < m; i++)
        for (j = 0; j < n; j++)
            scanf("%d", &matrix[i][j]);
    
    // ट्रांसपोज़ निकालना
    for (i = 0; i < m; i++)
        for (j = 0; j < n; j++)
            transpose[j][i] = matrix[i][j];
    
    printf("मैट्रिक्स का ट्रांसपोज़:\n");
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++)
            printf("%d\t", transpose[i][j]);
        printf("\n");
    }
    
    return 0;
}

आउटपुट

पंक्तियों और स्तंभों की संख्या दर्ज करें: 2 3
मैट्रिक्स के तत्व दर्ज करें:
1 2 3
2 4 5
मैट्रिक्स का ट्रांसपोज़:
1   2
2   4
3   5

प्रोग्राम 2: #define का उपयोग करके निश्चित आकार का मैट्रिक्स

#include <stdio.h>
#define ROW 2
#define COL 5

int main() {
    int i, j;
    int mat[ROW][COL], trans[COL][ROW];
    
    printf("मैट्रिक्स दर्ज करें:\n");
    for (i = 0; i < ROW; i++)
        for (j = 0; j < COL; j++)
            scanf("%d", &mat[i][j]);
    
    // ट्रांसपोज़ बनाना
    for (i = 0; i < ROW; i++)
        for (j = 0; j < COL; j++)
            trans[j][i] = mat[i][j];
    
    printf("\nट्रांसपोज़ मैट्रिक्स:\n");
    for (i = 0; i < COL; i++) {
        for (j = 0; j < ROW; j++)
            printf("%d ", trans[i][j]);
        printf("\n");
    }
    
    return 0;
}

आउटपुट

मैट्रिक्स दर्ज करें:
1 2 3 4 5
5 4 3 2 1
ट्रांसपोज़ मैट्रिक्स:
1 5
2 4
3 3
4 2
5 1

महत्वपूर्ण बिंदु

  • ट्रांसपोज़ में मूल मैट्रिक्स का [i][j] तत्व नए मैट्रिक्स में [j][i] स्थान पर चला जाता है।
  • यदि मूल मैट्रिक्स वर्गाकार (square) है (यानी m == n), तो ट्रांसपोज़ उसी आकार का होगा।
  • सममित मैट्रिक्स (Symmetric Matrix) में मैट्रिक्स अपने ट्रांसपोज़ के बराबर होता है।
  1. C++ प्रोग्राम: एडजेसेंसी मैट्रिक्स का उपयोग करके ग्राफ प्रतिनिधित्व करना C++ प्रोग्राम: एडजेसेंसी मैट्रिक्स का उपयोग करके ग्राफ प्रतिनिधित्व करना

    एक ग्राफ का एडजेसेंसी मैट्रिक्स V x V आकार का एक वर्ग मैट्रिक्स होता है। V ग्राफ G के वर्टेक्स की संख्या है। इस मैट्रिक्स में प्रत्येक तरफ V वर्टेक्स मार्क किए जाते हैं। यदि ग्राफ में i से j वर्टेक्स तक कुछ एज हैं, तो एडजेसेंसी मैट्रिक्स में i-वीं पंक्ति और j-वें कॉलम में 1 होगा (या वेटेड ग्राफ के

  1. पायथन में वर्टेक्स-टू-वर्टेक्स पहुंच योग्यता मैट्रिक्स की गणना करने का प्रोग्राम पायथन में वर्टेक्स-टू-वर्टेक्स पहुंच योग्यता मैट्रिक्स की गणना करने का प्रोग्राम

    मान लीजिए हमारे पास एक ग्राफ है जिसे एडजेसेंसी सूची के रूप में दर्शाया गया है, हमें 2D मैट्रिक्स M ढूंढना है जहां: M[i, j] = 1 जब वर्टेक्स i और j के बीच कोई पथ हो। M[i, j] = 0 अन्यथा। उदाहरण के लिए, यदि इनपुट जैसा है: तो आउटपुट होगा: 11111 01111 01111 01111 01111 इसे हल करने के लिए हम निम्न

  1. पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक मैट्रिक्स दिए जाने पर, हमें ट्रांसपोज़ को उसी मैट्रिक्स में स्टोर करना होगा और इसे प्रदर्शित करना होगा। मैट्रिक्स का ट्रांसपोज़ पंक्तियों को कॉलम में और कॉलम को पंक्तियों में बदलकर