Ideone też nie jest doskonałe [a szczególnie w tym przypadku]. Gdybyś testował u siebie i przekierował output do pliku, zauważyłbyś [w "dobrym" edytorze], że w każdej linii, na końcu dopisujesz 0, którego "normalnie" na ekranie [konsoli], a więc i na ideone nie widać, ale już na spoju - porównywane są dwa pliki i ten błąd "wychodzi".
PS
Sorry, nie zauważyłem 
.. testowała, ... przekierowała, ... zauważyłabyś. ...
PS 2
drugie i trzecie else jest w twoim kodzie zbędne.
Wystarczy:
if (.....) continue;
cout << ....
W wyrazie nie ma spacji, a więc continue załatwia całą "sprawę".
Tzn jest litera, jedna, jedyna spacja i wyraz już bez spacji.