I dette eksempel lærer du at finde transponering af en matrix i C-programmering.
For at forstå dette eksempel skal du have kendskab til følgende C-programmeringsemner:
- C Arrays
- C Flerdimensionelle arrays
Transponeringen af en matrix er en ny matrix, der opnås ved at udveksle rækker og kolonner.
I dette program bliver brugeren bedt om at indtaste antallet af rækker r og kolonner c. Deres værdier skal være mindre end 10 i dette program.
Derefter bliver brugeren bedt om at indtaste elementerne i matrixen (i rækkefølge r*c
).
Programmet nedenfor beregner derefter transponeringen af matrixen og udskriver den på skærmen.
Program til at finde transponering af en matrix
#include int main() ( int a(10)(10), transpose(10)(10), r, c, i, j; printf("Enter rows and columns: "); scanf("%d %d", &r, &c); // Assigning elements to the matrix printf("Enter matrix elements:"); for (i = 0; i < r; ++i) for (j = 0; j < c; ++j) ( printf("Enter element a%d%d: ", i + 1, j + 1); scanf("%d", &a(i)(j)); ) // Displaying the matrix a()() printf("Entered matrix: "); for (i = 0; i < r; ++i) for (j = 0; j < c; ++j) ( printf("%d ", a(i)(j)); if (j == c - 1) printf(""); ) // Finding the transpose of matrix a for (i = 0; i < r; ++i) for (j = 0; j < c; ++j) ( transpose(j)(i) = a(i)(j); ) // Displaying the transpose of matrix a printf("Transpose of the matrix:"); for (i = 0; i < c; ++i) for (j = 0; j < r; ++j) ( printf("%d ", transpose(i)(j)); if (j == r - 1) printf(""); ) return 0; )
Produktion
Indtast rækker og kolonner: 2 3 Indtast matrixelementer: Indtast element a11: 1 Indtast element a12: 4 Indtast element a13: 0 Indtast element a21: -5 Indtast element a22: 2 Indtast element a23: 7 Indtast matrix: 1 4 0 -5 2 7 Transportere matrixen: 1 -5 4 2 0 7