Hilfsfunktionen zum lesen und schrieben einer Matrix:
// File matio.c
#include <stdio.h>
#include "Matrix.h"
// Einfache Eingabe einer Matrix, allgemein gehalten
// fÜr Gleichungsysteme ist m = n + 1
void MatIn (FILE *f, double a[][NMAX], int *n, int *m)
{
int bFile = 1;
int i, j;
if (f == stdin)
bFile = 0;
if (!bFile) {
printf("Matrix Eingabe \n\n");
printf("Anzahl der Zeilen (< %2i) n = ", NMAX);
}
fscanf (f, "%d", n);
if (!bFile) printf("Anzahl der Spalten (< %2i) m = ", NMAX);
fscanf (f, "%d", m);
if (!bFile) printf("\n");
for (i = 0; i < *n; i++ ) {
if (!bFile) printf("Zeile %2d : ", i+1);
for (j = 0; j < *m; j++)
fscanf(f, "%lf", &a[i][j]);
}
if (!bFile) fgetc(f);
fprintf(f, "\n");
}
void MatOut (FILE *f, double a[][NMAX], int n, int m)
{
int bFile = 1;
int i, j;
if (f == stdout)
bFile = 0;
fprintf(f, "\n");
for (i = 0; i < n; i++ ) {
for (j = 0; j < m; j++)
fprintf (f, "%7.2f ",a[i][j]);
fprintf(f, "\n");
}
fprintf(f, "--------------------------------------------------------\n");
if (!bFile) {
printf("Weiter mit Eingabetaste");
getchar();
}
}