একটি ম্যাট্রিক্সের স্থানান্তর
একটি ম্যাট্রিক্সের ট্রান্সপোজ হল সেই যার সারিগুলি মূল ম্যাট্রিক্সের কলাম, যেমন যদি 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
এই উদাহরণে, আমরা for loop ব্যবহার করে একটি ম্যাট্রিক্সের ট্রান্সপোজ প্রিন্ট করব .
#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