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 */