I think the error is on line 13 you are comparing count_l (int) to a char ('3') which is 51 is that what you meant to do? if( count_l == 51) because that seems very strange to me.
Honestly I think you should remove lines 13-16
Also you can put in your if statements letters like 'a' - 'z' and 'A' - 'Z' instead of 122 - 97 and 90-65 same with the numbers.
After reading your first post again it looks like you are trying to stop it from displaying the letters/numbers twice for each digit. For this just simply move the output statement on line 22 to line 24 or anything after the while statement really
Yes, you were right about lines 13-16 this part of code does not working at all, i do not want to compare with 51 (ASCI code for 3) but if characted was input 3 times.
Sorry I didn't realize you wanted it to stop when the last character was inputted 3 times in a row for this simply put a counter for the last character.
Basically like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
char input , last;
int letters = 0 , numbers = 0 , characters = 0 , repeats = 0;
while( cin >> input && repeats != 3 )
{
++characters;
if( letter ) ++letters;
if( number ) ++numbers;
if( characters == 1 ) //First time so you have to set initial value for last char
last = input;
if( last == input )
++repeats;
else
repeats = 1;
}