hallo,
beschäftige mich gerade mit c und komme nicht weiter. meine funktion soll eine textdatei einlesen und den höchsten wert ausgeben. habe eine textdatei "matrix.txt" die folgenden aufbau hat:
und die funktion:
die ich mit
aufrufe. nur bekomme ich keinen wert ausgegeben. habe dann zum testen die zweitletzte zeile eingebaut und bekomme auch den richtigen wert. aber im return-wert ist dann ein falscher wert. ohne die zweitletzte zeile ist der wert 0.0000
was mache ich falsch?
beschäftige mich gerade mit c und komme nicht weiter. meine funktion soll eine textdatei einlesen und den höchsten wert ausgeben. habe eine textdatei "matrix.txt" die folgenden aufbau hat:
Code:
11 55 25 35 45
5 7 9 3 2
0 4 689 7 2
7 5 37 3 0
6 87 7 6 6
und die funktion:
Code:
float EinlesenUndMaximumAusgeben(char *name) {
int zeile, spalte, a, j;
float matrix[5][5], max = 0;
FILE *datei;
datei=fopen(name, "r");
if(datei != NULL) {
for(zeile = 0; zeile < 5; zeile++) {
float spalte[5];
fscanf(datei, "%f %f %f %f %f\n", &spalte[0], &spalte[1], &spalte[2], &spalte[3], &spalte[4]);
for(j=0;j<5;j++) {
if(spalte[j] > max) {
max = spalte[j];
printf("zahl %f\n", max);
}
}
}
fclose(datei);
}
printf("maximum: %f\n", max); // zum testen eingebaut.
return(max);
}
die ich mit
Code:
float maximum;
maximum = EinlesenUndMaximumAusgeben("matrix.txt");
printf("maximum funktion aufgabe 2: %f\n", maximum);
aufrufe. nur bekomme ich keinen wert ausgegeben. habe dann zum testen die zweitletzte zeile eingebaut und bekomme auch den richtigen wert. aber im return-wert ist dann ein falscher wert. ohne die zweitletzte zeile ist der wert 0.0000
was mache ich falsch?