Mostra carpetes indentades

Un ‘Tree<string>‘ ens permet representar una jerarquia de carpetes. Cada
node és una carpeta, i les fulles són o bé fitxers, o carpetes buides.
Per exemple, l’estructura de carpetes del codi públic d’aquest mateix
problema és aquesta:

    public
    |-- .vscode
    |   |-- launch.json
    |   '-- tasks.json
    |-- main.cc
    |-- Makefile
    |-- tree.hh
    '-- tree-io.hh

Implementa la funció amb la següent capçalera:

    /**
     * @brief Mostra un arbre de carpetes i fitxers a la sortida en format 
     * indentat
     *
     * Per exemple:
     * ```
     * problema
     *     codi_font
     *         main.cc
     *         Makefile
     *     jocs_de_prova
     *         publics
     *             sample-1.inp
     *         privats
     *
     * ```
     *
     * Cal notar que la última línia és buida per poder veure la separació 
     * amb altres arbres de carpetes
     *
     * @param t Un arbre que representa una jerarquia de carpetes i fitxers.
     * @param indent_size Número d'espais d'indentació per a cada nivell.
     *
     * @pre `indent_size` > 0.
     * @post S'ha mostrat per la sortida estàndard l'arbre `t` amb un nivell
     * d'indentació d'`indent_size` espais per a cada nivell de profunditat.
     */
    void print_folders(Tree<string> t, int indent_size);

Observació

Els fitxers públics (icona del gatet) contenen:

  ------------ ---------------------------
  tree.hh      la classe Tree
  tree-io.hh   l’entrada/sortida de Tree
  main.cc      el programa principal
  ------------ ---------------------------

També hi ha un Makefile i el directori .vscode que té la configuració
per compilar i depurar amb VSCode.

Cal implementar print_folders en un fitxer .cc nou, compilar, i
finalment enviar només el fitxer amb la funció.

Entrada

Cada cas consisteix en un enter que és el nivell d’intendació desitjat,
seguit d’una representació textual d’un arbre de carpetes. (Aquesta
lectura ja la fa el programa principal.)

Sortida

Per a cada cas, la sortida és el resultat de cridar l’acció
print_folders per a cada carpeta. (Això també ho fa el programa
principal.)

Informació del problema

Autoria: Pau Fernández

Generació: 2026-01-25T21:40:08.063Z

© Jutge.org, 2006–2026.
https://jutge.org
