031
09.01.2004, 14:02 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft... (Operator)
|
da sind ja überalle üble dinger und casts drin... also das hier alles zu erläutern und fehler rauszukicken dauert ewig
Ich habe mir mal erlaubt das schnell zu ändern...
probier mal so... was noch verbessert werden müsste ist die einleseroutine damit auch noch fehler abgefangen werden
C++: |
#include <iostream> #include "PointIo.h" #include "MeanVarCalculation.h" int main(){ int n; double *values; readDataPoints("data.dat",values,n); std::cout<< "Der Mittelwert des Vektors betraegt : "<<CalculateMean(values,n)<<"."<<std::endl; std::cout<< "Die Varianz des Vektors betraegt : "<<CalculateVar(values,n)<< "."<<std::endl; delete []values; return 0; }
|
C++: |
#ifndef POINT_IO_IHA_H_ #define POINT_IO_IHA_H_ #include <fstream> int readDataPoints (char* filename,double* &values,int &n); #endif
|
C++: |
#include "PointIo.h"
int readDataPoints (char* filename,double* &values,int&n){ int i; std::ifstream NeueDatei(filename); if (NeueDatei.fail())return -1; NeueDatei>>n; values=new double[n]; for (i=0;i<n;++i)NeueDatei>>values[i]; NeueDatei.close(); return 0; };
|
C++: |
#ifndef MEANVARCALCULATION_IHA_H_ #define MEANVARCALCULATION_IHA_H_
double CalculateMean(double* values,int n); double CalculateVar(double* values,int n);
#endif
|
C++: |
#include "MeanVarCalculation.h"
double CalculateMean(double* values,int n){ double rv=0; for(int i=0;i<n;++i)rv+=values[ i ]; return rv/n; }
double CalculateVar(double* values,int n){ double rv=0,mean=CalculateMean(values,n); for(int i=0;i<n;++i)rv+=(values[ i ]-mean)*(values[ i ]-mean); return rv/--n; }
|
-- ...fleißig wie zwei Weißbrote |