#include #include #include #include #include using namespace std; int main (void) { vector> inputValues; vector> mostCommon; vector> mostCommonWorking; vector> leastCommon; char currentLine[5]; array currentLineInt; int mostBitTrue[5] = {}; int mostBitFalse[5] = {}; int leastBitTrue[5] = {}; int leastBitFalse[5] = {}; int oxygenGenRatingBin[5] = {}; int coScrubRatingBin[5] = {}; int oxygenGenRatingDec = 0; int coScrubRatingDec = 0; int lifeSupport = 0; int debugCount = 0; int vectorSize = 0; ifstream readFile ("data/testInput.txt", ios::in); //file Read while(readFile >> currentLine) { for(int i=0;i<5;i++) { if (currentLine[i] == '1') currentLineInt[i] = 1; else if (currentLine[i] == '0') currentLineInt[i] = 0; } inputValues.push_back(currentLineInt); } mostCommon = inputValues; leastCommon = inputValues; //most Common filter //Iterate through all bits in line for(int i=0;i<5;i++) { mostCommon = mostCommonWorking; mostCommonWorking.clear(); //if there's only one line, leave the loop if(mostCommon.size() == 1) { cout << "Exiting mostCommon loop..." << endl; break; } //Iterate through all entries in mostCommon, count 1s and 0s for (int j=0;j mostBitFalse[i]) { for(int j=0;j=mostCommon.size();j++) { if(mostCommon[j][i] == 1) mostCommonWorking.push_back(mostCommon[i]); } } //If there are more 0s than 1s, save 0s if (mostBitFalse[i] > mostBitTrue[i]) { for(int j=0;j=mostCommon.size();j++) { if(mostCommon[j][i] == 0) mostCommonWorking.push_back(mostCommon[i]); } } cout << "Most Common Working: "; for(int j=0;j leastBitFalse[i]) { for (int j=0;j leastBitTrue[i]) { for (int j=0;j