024
15.05.2004, 11:15 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft... (Operator)
|
wenn du es halbwegs vernünftig machen willst würd ich mir einfach ein paar routinen dafür schreiben die du dann nur im hauptprogramm aufrufst mal so ins forum gehackt sind bestimmt noch fehlerchen drin...
C++: |
void swap (double *x,double *y); void bubbleSort(double *a,int n); int werte_einlesen(char* filename,double* values, int n); void werte_ausgeben(FILE *fp,double* values, int n); double Kelvin2Celsius(double t); double Celsius2Kelvin(double t); double Kelvin2Fahrenheit(double t); double Fahrenheit2Kelvin(double t); double Celsius2Fahrenheit(double t); double Fahrenheit2Celsius(double t);
int main(){ double values[20]; int i; FILE* fp; fp=fopen("eingabe.txt","r"); //öffnen der Datei mit lese berechtigung if(!werte_einlesen("eingabe.txt",values,n)return 0; bubbleSort(values,20);
//in datei schreiben fp=fopen("ausgabe.txt","w"); void werte_ausgeben(fp,values,n); fclose(fp); //ausgabe Datei schliessen
//auf dem bildschirm ausgeben void werte_ausgeben(stdout,values,n);
return 0; }
void swap(double *x,double *y){double h=*x;*x=*y;*y=h;}
void bubbleSort(double *a,int n){ for(int j=n-1;j>0;--j) for(int i=0;i<j;++i) if(a[ i ]>a[i+1])swap(&a[ i ],&a[i+1]); }
int werte_einlesen(char* filename,double* values, int n){ int i; FILE* fp; if(!(fp=fopen(filename,"r"))return 0; for(i=0;i<n;++i){ fscanf(fp,"%lf\r\n",&values[ i ]); //auslesen der eingegebenen Werte values [ i ]+=273.16; } fclose(fp); return 1; }
void werte_ausgeben(FILE *fp,double* values, int n){
int i; fprintf(fp,"Kelvin\tCelsius\tFahrenheit\n"); for(i=0;i<n;i++)fprintf(fp,"%f\t%f\t%f\n",values[ i ],Kelvin2Celsius(values[i],Kelvin2Fahrenheit(values[i]));
}
double Kelvin2Celsius(double t){return t+273.16;} double Celsius2Kelvin(double t){return t-273.16;} double Kelvin2Fahrenheit(double t){return Celsius2Fahrenheit(Kelvin2Celsius(t));} double Fahrenheit2Kelvin(double t){return Celsius2Kelvin(Fahrenheit2Celsius(t));} double Celsius2Fahrenheit(double t){return 1.8*t+32;} double Fahrenheit2Celsius(double t){return (t-32)/1.8;}
|
-- ...fleißig wie zwei Weißbrote Dieser Post wurde am 15.05.2004 um 11:16 Uhr von Windalf editiert. |