Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <vector>
- #include <deque>
- #include <set>
- #include <map>
- #include <fstream>
- #include <iomanip>
- int main()
- {
- std::ifstream inFile("D:\\input1.txt");
- std::string home{}, remainder{}, result{}, away{};
- std::set<std::string> teams;
- std::map<std::string,std::string>tieResults;
- while(inFile)
- {
- getline(inFile, home, 'v') && getline(inFile, remainder);
- remainder.erase(0,1);//remove leading space
- std::size_t found = remainder.find_last_of(" ");
- away = remainder.substr(0, found);
- result = remainder.substr(found+1);
- home.pop_back();//remove trailing space
- if(inFile)
- {
- teams.insert(home);
- tieResults[home + " " + away] = result;
- }
- }
- std::deque<std::string> teamVec {teams.cbegin(), teams.cend()};
- teamVec.push_front(" ");
- std::vector<std::vector<std::string>> myVecVec(teams.size()+1, std::vector<std::string> (teams.size()+1));
- myVecVec[0] = {teamVec.cbegin(), teamVec.cend()};
- for (size_t i = 1; i < myVecVec.size(); ++i)
- {
- myVecVec[i][0] =teamVec[i];
- }
- for (size_t i = 1; i < myVecVec.size(); ++i)
- {
- for (size_t j = 1; j < myVecVec.size(); ++j)
- {
- if (i == j)
- {
- myVecVec[i][j] = "*";
- }
- else
- {
- myVecVec[i][j] = tieResults.find(myVecVec[0][i] + " " + myVecVec[0][j]) -> second;
- }
- }
- }
- for (size_t i = 0; i < myVecVec.size(); ++i)
- {
- for (size_t j = 0; j < myVecVec.size(); ++j)
- {
- std::cout.width(10);
- std::cout << myVecVec[i][j] << " ";
- }
- std::cout << '\n';
- }
- }
Add Comment
Please, Sign In to add comment