Lesen der Dimensionen und Elemente beider Matrizen
In diesem Schritt lernen Sie, wie Sie die Dimensionen und Elemente zweier Matrizen in einem C-Programm lesen. Für die Matrixaddition sind Matrizen gleicher Größe erforderlich, daher implementieren wir zunächst die Eingabe für Matrixdimensionen und -elemente.
Erstellen des Matrixadditionsprogramms
Erstellen Sie zunächst eine neue C-Datei für die Matrixaddition:
cd ~/project
nano matrix_addition.c
Schreiben wir nun den Code zum Lesen der Matrixdimensionen und -elemente:
#include <stdio.h>
#define MAX_SIZE 10
int main() {
int rows, cols;
int matrix1[MAX_SIZE][MAX_SIZE], matrix2[MAX_SIZE][MAX_SIZE];
// Lesen der Dimensionen der Matrizen
printf("Anzahl der Zeilen eingeben (max %d): ", MAX_SIZE);
scanf("%d", &rows);
printf("Anzahl der Spalten eingeben (max %d): ", MAX_SIZE);
scanf("%d", &cols);
// Eingabe der Elemente für die erste Matrix
printf("Elemente der ersten Matrix eingeben:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("Element [%d][%d] eingeben: ", i, j);
scanf("%d", &matrix1[i][j]);
}
}
// Eingabe der Elemente für die zweite Matrix
printf("Elemente der zweiten Matrix eingeben:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("Element [%d][%d] eingeben: ", i, j);
scanf("%d", &matrix2[i][j]);
}
}
return 0;
}
Kompilieren und Ausführen des Programms
Kompilieren Sie das Programm:
gcc matrix_addition.c -o matrix_addition
Beispielausgabe
Wenn Sie das Programm ausführen, werden Sie aufgefordert, die Matrixdimensionen und -elemente einzugeben:
Anzahl der Zeilen eingeben (max 10): 2
Anzahl der Spalten eingeben (max 10): 3
Elemente der ersten Matrix eingeben:
Element [0][0] eingeben: 1
Element [0][1] eingeben: 2
Element [0][2] eingeben: 3
Element [1][0] eingeben: 4
Element [1][1] eingeben: 5
Element [1][2] eingeben: 6
Elemente der zweiten Matrix eingeben:
Element [0][0] eingeben: 7
Element [0][1] eingeben: 8
Element [0][2] eingeben: 9
Element [1][0] eingeben: 10
Element [1][1] eingeben: 11
Element [1][2] eingeben: 12
Codeerklärung
#define MAX_SIZE 10
legt eine maximale Grenze für die Matrixdimensionen fest.
scanf()
wird verwendet, um ganzzahlige Eingaben für Zeilen, Spalten und Matrixelemente zu lesen.
- Verschachtelte
for
-Schleifen werden verwendet, um Elemente für beide Matrizen einzugeben.
- Das Programm stellt sicher, dass die Matrixdimensionen innerhalb der definierten maximalen Größe liegen.