Need help with C++ sorting file data
Posted: Sun Jul 02, 2017 7:50 am
I'm looking for some help with sorting information taken from a file.
Or...
Any help is welcome!
Code: Select all
Example: data.txt
10 3 41 12 1
23 12 34 22 3
32 3 30 2 12
output:
1 3 10 12 41
3 12 22 23 34
2 3 12 30 32
Code: Select all
int parse()
{
lines();
int max = 5 * numLines;
std::string line;
int log[max];
ifstream data ("data.txt");
std::vector<int> v, w, x, y, z;
if(data.is_open())
{
int i;
int j;
while (std::getline (data, line))
{
std::stringstream parse(line);
parse >> i;
v.push_back(i);
log[j] = i;
cout << log[j] << " ";
parse >> i;
w.push_back(i);
log[j] = i;
cout << log[j] << " ";
parse >> i;
x.push_back (i);
log[j] = i;
cout << log[j] << " ";
parse >> i;
y.push_back (i);
log[j] = i;
cout << log[j] << " ";
parse >> i;
z.push_back (i);
log[j] = i;
cout << log[j] << " ";
cout << endl;
cout << "sorting ... " << endl;
cout << line << endl; // display sort after.
}
}
}
Or...
Code: Select all
int sort() {
lines();
string m1st, m2nd, m3rd, m4th, m5th;
ifstream readFile("data.txt");
string line;
int max = 5 * numLines;
string parse[max];
while(getline(readFile,line)) {
stringstream iss(line);
getline(iss, m1st, ' ');
getline(iss, m2nd, ' ');
getline(iss, m3rd, ' ');
getline(iss, m4th, ' ');
getline(iss, m5th);
iss >> ws;
if(iss == " ") {
break;
}
//before
cout << " m1 " << m1st << " m2 " << m2nd << " m3 " << m3rd << " m4 " << m4th << " m5 " << m5th << endl;
cout << " " << endl;
for(int p = 0; p < numLines*5;){
cout << parse[p] << " ";
p++;
}
//after
cout << "sorting ... " << endl;
cout << endl;
cout << " m1 " << m1st << " m2 " << m2nd << " m3 " << m3rd << " m4 " << m4th << " m5 " << m5th << endl;
cout << " m1 " << parse[1] << " m2 " << parse[2] << " m3 " << parse[3] << " m4 " << parse[4] << " m5 " << parse[5] << endl;
cout << endl;
}
readFile.close();
cout << "end of sort(); "<< endl;
}