Hey guys and gals!

so currently my code is reading a txt file something like this.

19880113041524 408

19880113043027 406

19880113044527 406

19880113050027 406

19880113051527 404

19880113053027 402

19880113054527 402

19880113060027 400

19880113061530 399

19880113063030 399

it extracts the numbers into another array so each row looks like

1988 1 13 4 ... etc

However, when my program reads the txt at one point, it compares 1988 with 1988 and says its false. Anyone know what I'm sucking at?

Code:#include <stdio.h> /* required for file operations */ #include <dos.h> /* for delay */ #include <iostream> #include <cstdio> #include <iostream.h> #include <stdlib.h> #include <fstream.h> #include <iomanip> #include <cmath> using namespace std; main(){ FILE *fr; // declare the file ponter for imported file ofstream myfile; // declare the file pointer for exported file myfile.open ("c:\\CCY_fullNEW.txt"); int x, y; // Dimensions of .txt data, 3 columsn and 330770 inputs; //DYNAMIC MEMORY ALLOCATION FOR data ARRAY and finalData ARRAY. double** data; //allocation for input array data = (double **) malloc(673296 * sizeof(double*)); for (int h = 0; h < 673295; h++) data[h] = (double*) malloc(2*sizeof(double)); double** finalData; //allocation for final data array finalData = (double **) malloc(673295 * sizeof(double*)); for (int h = 0; h < 673295; h++) finalData[h] = (double*) malloc(6*sizeof(double)); double** out_DATA; //allocation for output data array out_DATA = (double **) malloc(673295 * sizeof(double*)); for (int h = 0; h < 673295; h++) out_DATA[h] = (double*) malloc(5*sizeof(double)); //opens the exporting file //determines the placement of the finalData fr = fopen ("c:\\CCY_full.prn", "r"); /* reads the file */ for(x=0; x<10; x++){ // loops through the rows for(y = 0; y <2; y++){ //starts at first column during each row loop fscanf(fr,"%Lf", &data[x][y]); //cout.precision(0); //cout<<fixed<<data[x][y]<<" "; } //cout<<endl; // loops through the columns until each row ends. } //Declaring time variables double EVENT; //extracts and holds the 15min intervals double DAY; //extracts and holds the day double test1; double test2; double test3; double MONTH; //extracts and holds the month double YEAR; //extracts and holds the year double DISCHARGE; double HOUR; double testwut; //This For loop extracts the parts of the large number to seperate it into specific pieces of time for (x = 0; x<10; x++){ EVENT = fmod(data[x][0]/100, 100); finalData[x][4] = EVENT; test1 = EVENT * 100; HOUR = fmod((data[x][0] - test1)/10000, 100); finalData[x][3] = HOUR; testwut = test1 + (HOUR * 10000); DAY = fmod((data[x][0] - testwut)/1000000, 100); finalData[x][2] = DAY; test2 = testwut + (DAY * 1000000); MONTH = fmod((data[x][0] - test2)/100000000, 100); finalData[x][1] = MONTH; test3 = test2 + (MONTH * 100000000); YEAR = fmod(((data[x][0]/10) - (test3/10))/1000000000, 10000); finalData[x][0] = YEAR; DISCHARGE = data[x][1]; finalData[x][5] = DISCHARGE; //cout<<finalData[x][0]<<" "<<finalData[x][1]<<" "<<finalData[x][2]<<" "<<finalData[x][3]<<" "<<finalData[x][4]<<" "<<finalData[x][5]<<endl; } //cout<<finalData[8299][0]<<" "<<finalData[8299][1]<<" "<<finalData[8299][2]<<" "<<finalData[8299][3]; /*for(x=0; x<10; x++){ // Loops through YEAR, MONTH, DAY, EVENT; for(y = 0; y <6; y++){ cout<<finalData[x][y]<<" "; } cout<<endl; }*/ double COUNT = 1; //determines number of inputs for total/count double TOTAL = 408; int z = 0; for (x = 1; x<10; x++){ // be careful of previous data points //cout<<finalData[x][0]<<" "<<finalData[x-1][0]<<endl; if (finalData[x][0] == finalData[x-1][0]){ //THIS IS WHERE THE IF STATEMENT SOMETIMES FAILS YEAR = finalData[x][0]; if (finalData[x][1] == finalData[x-1][1]){ MONTH = finalData[x][1]; if (finalData[x][2] == finalData[x-1][2]){ DAY = finalData[x][2]; if (finalData[x][3] == finalData[x-1][3]){ HOUR = finalData[x][3]; COUNT = COUNT + 1; TOTAL = TOTAL + finalData[x][5]; } else{ out_DATA[z][4] = TOTAL/COUNT; out_DATA[z][0] = YEAR; out_DATA[z][1] = MONTH; out_DATA[z][2] = DAY; out_DATA[z][3] = HOUR; //cout<<COUNT<<" "<<HOUR<<" "<<TOTAL<<endl; myfile <<out_DATA[z][0]<<" "<<out_DATA[z][1]<<" "<<out_DATA[z][2]<<" "<<out_DATA[z][3]<<" "<<out_DATA[z][4]<<endl; z = z + 1; COUNT = 0; TOTAL = 0; if (finalData[x][3] != (finalData[x-1][3] + 1)){ out_DATA[z][4] = -9999; out_DATA[z][0] = YEAR; out_DATA[z][1] = MONTH; out_DATA[z][2] = DAY; out_DATA[z][3] = HOUR + 1; myfile<<out_DATA[z][0]<<" "<<out_DATA[z][1]<<" "<<out_DATA[z][2]<<" "<<out_DATA[z][3]<<" "<<out_DATA[z][4]<<endl; z = z + 1; } } } else{ out_DATA[z][4] = TOTAL/COUNT; out_DATA[z][0] = YEAR; out_DATA[z][1] = MONTH; out_DATA[z][2] = DAY; out_DATA[z][3] = HOUR; myfile <<out_DATA[z][0]<<" "<<out_DATA[z][1]<<" "<<out_DATA[z][2]<<" "<<out_DATA[z][3]<<" "<<out_DATA[z][4]<<endl; z = z + 1; COUNT = 0; TOTAL = 0; } }else{ out_DATA[z][4] = TOTAL/COUNT; out_DATA[z][0] = YEAR; out_DATA[z][1] = MONTH; out_DATA[z][2] = DAY; out_DATA[z][3] = HOUR; myfile <<out_DATA[z][0]<<" "<<out_DATA[z][1]<<" "<<out_DATA[z][2]<<" "<<out_DATA[z][3]<<" "<<out_DATA[z][4]<<endl; z = z + 1; COUNT = 0; TOTAL = 0; } } else{ out_DATA[z][4] = TOTAL/COUNT; out_DATA[z][0] = YEAR; out_DATA[z][1] = MONTH; out_DATA[z][2] = DAY; out_DATA[z][3] = HOUR; cout<<out_DATA[z][0]<<" "<<out_DATA[z][1]<<" "<<out_DATA[z][2]<<" "<<out_DATA[z][3]<<" "<<out_DATA[z][4]<<endl; z = z + 1; COUNT = 0; TOTAL = 0; } } free(data); free(finalData); fclose(fr); /* close the file prior to exiting the routine */ system("pause"); }

Thank you!