Cerință
În C++ există două tipuri de comentarii:
- Comentarii de o singură linie:
text1 // comentariu1
text2 // comentariu2
- Comentarii de mai multe linii:
text1 /* comentariu1
comentariu2
comentariu3
*/ text2
text3
Comentariile de o singură linie comentează toate caracterele până la finalul liniei, începând cu secvența "//".
Similar, comentariile de mai multe linii comentează toate caracterele aflate între secvențele "/*" și "*/".
De asemenea, secvențele "/*" și "*/" din cadrul unui comentariu de o singură linie și secvențele "//" din cadrul unui comentariu de mai multe linii vor fi ignorate:
// /*
text1
*/
/*
// comentariu1 */
text2
*/
Se dă un fișier text cu mai multe linii care conține litere mici ale alfabetului englez, cifre, caracterele '/' și '*' și spații.
Să se elimine toate comentariile din fișierul dat.
Date de intrare
Fișierul de intrare nocomments.in este format din mai multe linii care conțin litere mici ale alfabetului englez, cifre, caracterele '/' și '*' și spații.
Date de ieșire
Fișierul de ieșire nocomments.out va conține doar caracterele necomentate din nocomments.in.
Orice răspuns care identifică corect cuvintele necomentate, indiferent de spațiile libere dintre acestea, este considerat corect. Un cuvânt este o secvență de litere, cifre, '/' și '*' delimitată de spații.
Restricții și precizări
- numărul de caractere din fișierul de intrare ;
- Nu există niciun comentariu de mai multe linii care să nu fie terminat de secvența "
*/"; - Testele la această problemă nu sunt grupate;
- Pentru de puncte, fișierul de intrare are o singură linie;
- Pentru de puncte, există doar comentarii de o singură linie;
- Pentru de puncte, există doar comentarii de mai multe linii;
- Pentru restul de de puncte, nu se impun restricții suplimentare.
Exemplu
nocomments.in
text0
// text1
/*
text2
*/
text3 / text4
//*
text5
*/
/*/*
//text6
text7
*//
text8
*/
/**text9*/
///text10
/*
/*/ text11 */
nocomments.out
text0
text3 / text4
text5
*/
/
text8
*/
text11 */