Mi aportación simplificando el for:
    
Código C++:
Ver original- #include <iostream> 
- using namespace std; 
-   
-   
- int main(){ 
-     for(int i=5; i<=23; i+=2)cout << i-4 << "," << i << " ,"[i<23]; 
-     return 0; 
- } 
Para los que encuentran extraña la sintaxis de la última coma, es simple: 
Si "ABC" representa un array de caracteres, entonces pueden utilizar los corchetes para acceder a sus elementos, por ejemplo: 
El resultado de "ABC"[0] es 'A' y el resultado de "ABC"[2] es 'C'. 
Ahora, aprovechando que un resultado booleano en realidad equivale a cero o uno, entonces: 
" ,"[true] es equivalente a " ,"[1] que tiene como resultado ','.
" ,"[false] es equivalente a " ,"[0] que tiene como resultado ' '. 
Por lo tanto " ,"[i<23] imprime ',' únicamente cuando i es menor a 23. 
Saludos.