- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int read_data(const char *file_name, int *pN, double **pData);
- int main(int argc, char *argv[])
- {
- int N, i;
- double *data, average, diff, std_dev;
- char *file_name = "data";
- // parse arguments
- if (argc > 1)
- file_name = argv[1];
- // setup
- if (read_data(file_name, &N, &data) != EXIT_SUCCESS)
- return EXIT_FAILURE;
- // average
- average = 0.0;
- for (i=0; i < N; i++)
- average += data[i];
- average /= N;
- // standard deviation
- std_dev = 0.0;
- for (i=0; i < N; i++)
- {
- diff = data[i] - average;
- std_dev += diff * diff;
- }
- // cleanup and exit
- return EXIT_SUCCESS;
- }
- /* Read in data from a file, discarding the x data. */
- int read_data(const char *file_name, int *pN, double **pData) {
- FILE *fp;
- int i;
- double x, y;
- // open the file
- {
- return EXIT_FAILURE;
- }
- // read the size of the data file
- // allocate memory for the data
- if (*pData == NULL)
- {
- return EXIT_FAILURE;
- }
- // read in the data
- for (i=0; i < *pN ; i++)
- {
- (*pData)[i] = y;
- }
- // close the file
- return EXIT_SUCCESS;
- }
Raw Paste