मैट्रिक्स का ट्रांसपोज़ क्या है?
किसी मैट्रिक्स का ट्रांसपोज़ वह मैट्रिक्स होता है जिसकी पंक्तियाँ (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) में मैट्रिक्स अपने ट्रांसपोज़ के बराबर होता है।