Problems while writing decimal doubles onto a .csv file C++ -


i have program reads test .csv file row row , gives standard deviation & mean of every row. goes on write new .csv file including sd, average, , original values of every row.

#include <iostream> #include <string> #include <fstream> #include <sstream> #include <stdlib.h> #include <math.h> #define rows 100 #define columns 11 using namespace std; void read(int data[rows][columns]) { string str;     ifstream ifile;     string filename="testdatain.csv";     ifile.open(filename);     if (ifile)     {         int = 0;         while (getline (ifile,str)){             stringstream ss(str);             string temp;             for(int j=0;j<columns;j++){                 getline(ss,temp,',');                 data[i][j]=atoi(temp.c_str());             }             i++;         }         cout << "finished reading data." << endl;     }else     {         cout << "error reading." <<endl;     }     ifile.close(); } double* avg(int data[rows][columns]){     int total;     double average[rows];     for(int i=0;i<rows;i++){         total=0;         for(int j=0;j<columns;j++){             total+=data[i][j];         }         average[i]=(double)total/columns;         cout<<"the average of row "<<i+1<<" "<<average[i]<<"."<<endl;     }     return average; } double* sd(int data[rows][columns]){     int total;     double sdarray[rows];     double sdnum[columns];     double sdtotal;     for(int i=0;i<rows;i++){         total=0;         sdtotal=0;         for(int j=0;j<columns;j++){             total+=data[i][j];         }         for(int n=0;n<columns;n++){             sdnum[n]=pow((data[i][n]-(double)total/columns),2);         }         for(int m=0;m<columns;m++){             sdtotal+=sdnum[m];         }         sdarray[i]=(double)sqrt(sdtotal/columns);         cout<<"the standard deviation of row "<<i+1<<" "<<sdarray[i]<<"."<<endl;     }     return sdarray; } void write(int data[rows][columns],double* average, double* sdarray){     ofstream myfile;     myfile.open("testdataout.csv");     if (myfile.is_open()) {         for(int i=0;i<rows;i++){             for(int j=0;j<columns;j++){                 myfile<<data[i][j]<<",";             }             myfile<<(double)average[i]<<","<<(double)sdarray[i];             myfile<<"\n";         }         myfile.close();         cout<<"done writing file.";     }else{         cout<<"error writing.";     } } int main() {     int data[rows][columns]={0};     read(data);     write(data,avg(data),sd(data));     return 0; } 

the sole issue program standard deviation , average of each row, when printed onto .csv file, random decimal gibberish, odd exception of few rows. output of program in .csv i'm not sure why, can't figure 1 out.


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -