okay so i think if i put cin.ignore() into a for loop i can get it to ignore 2 characters more than once and i can set the for loop limit by getting the number of characters that was inputted and dividing it by 2.
No. The way you're trying to use ignore() is trying to remove the irrelevant characters at entry time (preprocessing). I'm suggesting that you think about post processing the user input. The std::string class has quite a few member functions that should make processing a string that contains the user input much easier. I just suggested a couple of methods but remember the std::string class has quite a few member functions to aid in processing strings.
So instead of trying to force the iostream class to process the input, save the input to a string and process that string.