Read World Population Data File. Store the
values in multiple vectors. Sort them by most
populated region and output the results
ext file is here : https://www.csupomona.edu/~hmzaidi/Winter2012/CS128/WorldPopulation2010.txt
please show me the code which is working perfectly.
please follow under this code
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
// Define vectors to hold the data
vector countryNames;
vector countryCodes;
vector countryPopulations;
// Open the input file
string filename =
"C:\\Teaching\\CSUPomona\\CS128\\Winter2011\\WorldPopulation2010.txt";
ifstream in_file;
in_file.open(filename.c_str(), ios::in);
// Read the header
string header;
getline(in_file, header);
string line;
while (getline(in_file, line))
{
cout << line << endl;
string countryName;
string countryCode;
string countryPopulation;
// Parse the line to extract country name, code & population
for (int i = 0; i < line.length(); i++)
{
if (isdigit((unsigned char)line[i]))
{
countryName = line.substr(0, i);
countryCode = line.substr(i, 3);
countryPopulation = line.substr(i + 3, line.length() - i - 3);
countryNames.push_back(countryName);
countryCodes.push_back(atoi(countryCode.c_str()));
countryPopulations.push_back(atof(countryPopulation.c_str()));
break;
}
}
}
// Sort the vectors based on population
for (int i = 0; i < countryPopulations.size(); i++)
{
for (int j = i + 1; j < countryPopulations.size(); j++)
{
if (countryPopulations[j] < countryPopulations[i])
{
double tempP = countryPopulations[j];
countryPopulations[j] = countryPopulations[i];
countryPopulations[i] = tempP;
int tempC = countryCodes[j];
countryCodes[j] = countryCodes[i];
countryCodes[i] = tempC;
string tempN = countryNames[j];
countryNames[j] = countryNames[i];
countryNames[i] = tempN;
}
}
}
// Write the vectors to a file
string out_filename =
"C:\\Teaching\\CSUPomona\\CS128\\Winter2011\\WorldPopulation2010Sorted.txt";
ofstream out_file;
out_file.open(out_filename.c_str(), ios::out);
for (int i = 0; i < countryPopulations.size(); i++)
{
out_file << countryNames[i] << " "
<< countryCodes[i] << " " << countryPopulations[i] << endl;
}
char key;
cin >> key;
return 0;
}