If I want to sort in descending order for exams.at (i).total.at(j)
like this..
the output
1 34
2 56
3 21
and I want to cout the output
2 56
1 34
3 21
Is it must to use bubble sort or radix sort?
#include <iostream> // std::cout
#include <fstream>
#include <iomanip>
#include <string> // std::string
#include <vector> // std::vector<>
#include <algorithm> //std::for each()
using namespace std;// import "std" namespace into global namespace
struct exam
{
string examid;
vector <int> total;
};
int main()
{
ifstream stream1("STA83SOLUTION.txt");
if ( !stream1.is_open())
{
cout << "While opening a file an error is encountered" << endl;
}
else
{
cout << "Fail Di buka....." << endl;
}
vector <exam> exams;
exam aExam;
string tempExamID;
int tempTotal;
stream1 >> tempExamID >> tempTotal;
aExam.examid = tempExamID;
aExam.total.push_back(tempTotal); // add this exam code to current student's vector of exam codes
while (stream1 >> tempExamID >> tempTotal)
{
if(tempExamID != aExam.examid)
{
exams.push_back(aExam); // no more exam codes for this student. Add aStudent to students vector
aExam.total.clear();
aExam.examid = tempExamID;
}
aExam.total.push_back(tempTotal); // add this exam code to current student's vector of exam codes
}
exams.push_back(aExam); // no more exam codes for this student. Add aStudent to students vector
stream1.close(); // We have read the entire file, so time to close it.
{
ofstream myfile;
myfile.open("408.txt");
if (myfile.is_open())
{
for (size_t i = 0; i < exams.size(); i++)
for (size_t j = 0; j<exams.at(i).total.size(); j++)
{
myfile<<"\n"<<i+1<<":"<<" "<< exams.at (i).total.at(j)<<"\t"; // output list of exam codes for this student
}
}
}
cin.get();
return 0;
}