Код ничего не печатает после манипулирования векторами - PullRequest
0 голосов
/ 16 февраля 2020

Этот код, который я пишу для одного из моих классов, не напечатает то, к чему он написан. Я спрашивал вокруг, и никто не может понять это. Может ли это быть что-то, связанное с векторами или какими-либо строками? Дальнейший cout будет работать, где я распечатаю введенные аргументы командной строки. При компиляции в cygwin не возникает ошибок, которые он может распечатать.

#include <iostream>
#include <sstream>
#include <vector>
#include <cmath>

using namespace std;

int main(int argc, char *argv[])
{
        //declare variables
        string possibleValues;
        string number;
        int inBase;
        int numLength;
        int outBase;
        int outcome;
        int baseTenTemp;
        vector<int> placeHolder;
        vector<int> finalTranslator;

        //turn base strings into integers

        baseTenTemp = 0;
        possibleValues = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        istringstream(argv[1]) >> inBase;
        istringstream(argv[3]) >> outBase;
        number = argv[2];

        cout << "inBase is " << inBase << " outBase is " << outBase << " and number is " << number << endl;

        //nothing beyond this point prints...
        //convert number into an int vector

        numLength = number.length();
        for(int i = 0; i<numLength; i++)
        {
                for(int j = 0; j <possibleValues.length(); j++)
                {
                        if(number.substr(i,i++)==possibleValues.substr(j,j++))
                        {
                                placeHolder.push_back(j);
                        }
                }
        }

        cout << "will this print?" << endl; //nope

        //convert number into base ten

        for(int i = 0; i < numLength; i++)
        {
                baseTenTemp = baseTenTemp + (placeHolder.at(i)*pow(inBase,numLength-i));
        }

        cout << baseTenTemp << endl;

        //convert base ten number into outBase number

        while(baseTenTemp>0)
        {
                finalTranslator.push_back(baseTenTemp%outBase);
                baseTenTemp=baseTenTemp/outBase;
        }

        //print converted number

        for(int i = finalTranslator.size()-1; i >=0; i--)
        {
                cout << finalTranslator.at(i);
        }
        cout << "checker" << endl;
        return 0;
}
...