#define WICKLUNGSDICHTE 500/0.07 #define MAX_ANZAHL_ZEILEN 100 #define MAX_ANZAHL_SPALTEN 2 #define MAX_ANZAHL_MUELL 50 #include int maximum_B_suchen(double*,int); double flaeche1(double,int); double flaeche2(double,int,int); int main (int argc, char* argv[]) { if (argc!=2) { printf("Ungueltige Argumentenanzahl!\n"); printf("Usage: hysterese \n"); } else { FILE *datei; datei=fopen(argv[1],"r"); if (datei==NULL) { printf("Konnte Datei nicht oeffnen\n"); } else { int zaehler=0; double werte[MAX_ANZAHL_ZEILEN][MAX_ANZAHL_SPALTEN]; int zeit; char muell[MAX_ANZAHL_MUELL]; char c; double temp1; double temp2; double temp3; double flaeche_unten; double flaeche_oben; int grenze; fscanf(datei,"%s%c%s%c%s",&muell[0],&c,&muell[0],&c,&muell[0]); while (fscanf(datei,"%lf%c%lf%c%lf",&temp1,&c,&temp2,&c,&temp3)==5 && zaehler<=MAX_ANZAHL_SPALTEN) { zeit=temp1; werte[zaehler][1]= temp2*WICKLUNGSDICHTE; werte[zaehler][2]= temp3*WICKLUNGSDICHTE; zaehler++; } grenze=maximum_B_suchen(&werte[0][0],zaehler); flaeche_unten=flaeche1(werte[MAX_ANZAHL_ZEILEN][MAX_ANZAHL_SPALTEN],grenze); flaeche_oben=flaeche2(werte[MAX_ANZAHL_ZEILEN][MAX_ANZAHL_SPALTEN],zaehler,grenze); printf("Flaeche 1: %lf Flaeche 2: %lf\n",flaeche_unten,flaeche_oben); } fclose (datei); } } int maximum_B_suchen (double* werte,int zaehler) { int spaltennummer; for (int i=1 ; iwerte[i+1][2]) { spaltennummer=i; } } return spaltennummer; } double flaeche1(double werte, int begrenzung) { double flaeche=0; //Flaeche mittels Trapez-Aufteilung for (int i=1 ; i