मैट्रिक्स का स्थानांतरण
मैट्रिक्स का स्थानान्तरण वह है जिसकी पंक्तियाँ मूल मैट्रिक्स के स्तंभ हैं, अर्थात यदि A और B ऐसे दो आव्यूह हैं कि मैट्रिक्स B की पंक्तियाँ मैट्रिक्स A के स्तंभ हैं तो मैट्रिक्स B को किसका स्थानान्तरण कहा जाता है मैट्रिक्स ए.
m(i,j) मैट्रिक्स को m(j,i) में बदलने के लिए उपयोग किया जाने वाला तर्क इस प्रकार है -
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, matrix[10][10], transpose[10][10]; printf("Enter rows and columns :\n"); scanf("%d%d", &m, &n); printf("Enter elements of the matrix\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("Transpose of the matrix:\n"); for (i = 0; i< n; i++) { for (j = 0; j < m; j++) printf("%d\t", transpose[i][j]); printf("\n"); } return 0; }
आउटपुट
Enter rows and columns : 2 3 Enter elements of the matrix 1 2 3 2 4 5 Transpose of the matrix: 1 2 2 4 3 5
कार्यक्रम 2
#include<stdio.h> #define ROW 2 #define COL 5 int main(){ int i, j, mat[ROW][COL], trans[COL][ROW]; printf("Enter matrix: \n"); // input matrix for(i = 0; i < ROW; i++){ for(j = 0; j < COL; j++){ scanf("%d", &mat[i][j]); } } // create transpose for(i = 0; i < ROW; i++){ for(j = 0; j < COL; j++){ trans[j][i] = mat[i][j]; } } printf("\nTranspose matrix: \n"); // print transpose for(i = 0; i < COL; i++){ for(j = 0; j < ROW; j++){ printf("%d ", trans[i][j]); } printf("\n"); } return 0; }
आउटपुट
Enter matrix: 1 2 3 4 5 5 4 3 2 1 Transpose matrix: 1 5 2 4 3 3 4 2 5 1