DataMining-Experiment1 (三)

2014-11-24 02:51:55 · 作者: · 浏览: 7
{
if(DMVector[i] < minv)
minv = DMVector[i];
}
return minv;
}
double max_vector()
{
double maxv = 0.0;
for(int i=0; i {
if(DMVector[i] > maxv)
maxv = DMVector[i];
}
return maxv;
}
};

double vector_mean(vector veclist)
{
double sum = 0.0;
int c = 0;
for(unsigned int i=0; i {
for(int j=0; j {
sum += veclist[i].get(j);
c ++;
}
}
return sum/c;
}

double vector_median(vector veclist)
{
vector vec;
for(unsigned int i=0; i {
for(int j=0; j vec.push_back(veclist[i].get(j));
}
sort(vec.begin(), vec.end());
return vec.size()%2==0 vec[vec.size()-1/2] : vec[(vec.size())/2];
}

vector read_data(string filename)
{
vector vlist;
string tmps;
ifstream finput(filename.c_str(), ios::in);
//ifstream finput;
//finput.open(filename.c_str());
int i, size;
if( !finput )
{
cerr << "Open file Error!" << endl;
}
// check the dimension of vector
size = 1;
if( !finput.eof() )
{
getline(finput, tmps, '\n');
i = 0;
while( !(tmps[i] == '\0' || tmps[i] == '\n') )
{
if(tmps[i] == ' ')
size++;
i++;
}
}
finput.seekg( 0, ios::beg);
while( !finput.eof() )
{
Vector dmvector(size);
for ( i = 0; i < size; ++i )
{
finput >> tmps;
if ( tmps.length() == 0 )
return vlist;
dmvector.set( i, atof(tmps.c_str()));
}
vlist.push_back( dmvector );
}
finput.close();
return vlist;
}

void write_data(vector veclist, string filename)
{
FILE *fp = NULL;
fp = fopen(filename.c_str(), "w");
for(unsigned int i=0; i {
for(int j=0; j {
fprintf(fp, "%f ", veclist[i].get(j));
}
fprintf(fp, "%c", '\n');
}
}

int main()
{
//printf("%d\n", -1/2);//0
vector veclist;
veclist = read_data("data.dm");
write_data(veclist, "outdata.dm");
system("pause");
return 0;
}