--- /dev/null
+#include <stdio.h>
+
+int *pelemente;
+
+void read_matrix ( int *pzeilen, int *pspalten ) {
+
+ /* abfragen der anzahl der zeilen und spalten. eintrag auf pointer. */
+ int i,j,temp,zeilen,spalten;
+ printf("Anzahl der Zeilen eingeben: ");
+ scanf("%d",&zeilen);
+ *pzeilen=zeilen;
+ printf("Anzahl der Spalten eingeben: ");
+ scanf("%d",&spalten);
+ *pspalten=spalten;
+
+ /* memory allocation */
+ pelemente=(int *)malloc(zeilen*spalten * sizeof(int));
+
+ /* abfragen der elemente */
+ for (i=0;i<zeilen;++i) {
+ for (j=0;j<spalten;++j) {
+ printf("Element: %d. Spalte und %d. Zeile: ",j+1,i+1);
+ scanf("%d",&temp);
+ /* speichern der elemente */
+ *(pelemente + i*spalten + j)=temp;
+ }
+ }
+
+ return;
+}
+
+void write_matrix ( int zeilen, int spalten ) {
+ int i,j,temp;
+ for (i=0;i<zeilen;++i) {
+ for (j=0;j<spalten;++j) {
+ temp=*(pelemente + i*spalten + j);
+ printf("%03d\t",temp);
+ }
+ printf("\n");
+ }
+ return;
+}
+
+int main() {
+
+int z;
+int s;
+
+read_matrix(&z,&s);
+write_matrix(z,s);
+return;
+}