Σε αυτό το παράδειγμα, θα μάθετε να βρίσκετε τη μεταφορά μιας μήτρας στον προγραμματισμό C.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:
- C Πίνακες
- Πολυδιάστατες συστοιχίες
Η μεταφορά ενός πίνακα είναι ένας νέος πίνακας που λαμβάνεται με την ανταλλαγή των γραμμών και των στηλών.
Σε αυτό το πρόγραμμα, ζητείται από τον χρήστη να εισαγάγει τον αριθμό σειρών r και στηλών c. Οι τιμές τους πρέπει να είναι μικρότερες από 10 σε αυτό το πρόγραμμα.
Στη συνέχεια, ζητείται από τον χρήστη να εισαγάγει τα στοιχεία του πίνακα (της σειράς r*c
).
Το παρακάτω πρόγραμμα υπολογίζει στη συνέχεια τη μεταφορά του πίνακα και το εκτυπώνει στην οθόνη.
Πρόγραμμα για την εύρεση της μετάθεσης ενός πίνακα
#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; )
Παραγωγή
Εισαγάγετε σειρές και στήλες: 2 3 Εισαγάγετε στοιχεία μήτρας: Εισαγάγετε το στοιχείο a11: 1 Εισαγάγετε το στοιχείο a12: 4 Εισαγάγετε το στοιχείο a13: 0 Εισαγάγετε το στοιχείο a21: -5 Εισαγάγετε το στοιχείο a22: 2 Εισαγάγετε το στοιχείο a23: 7 Εισαγάγετε τη μήτρα: 1 4 0 -5 2 7 Μεταφορά της μήτρας: 1 -5 4 2 0 7