Manugal
28-09-2005, 14:59
Ciao a tutti.
Ho un problema con un esercizio d'esame....
Posto il testo:
Progettare un programma C che legge in preordine
da stdin un albero binario etichettato con interi sui nodi
e lo stampa su stdout in postordine.
Si veda il file "format-tree.txt" per i formati di lettura e stampa
degli alberi.
L'input \`e formattato come segue.
<format T in preordine>
L'output \`e formattato come segue.
Le prime 6 righe di stampa sono formattate come segue.
<nome>
<cognome>
<giorno di nascita (2 cifre)>
<mese di nascita (2 cifre)>
<anno di nascita (4 cifre)>
<indirizzo email>
Le rimanenti righe sono formattate come segue.
<format T in postordine>
Ecco alcuni esempi per il programma dello studente Mario Rossi della Spigola
nato il 17.05.1723 ed email mrds@nessun.posto.it.
Testate il vostro programma almeno sugli esempi proposti
controllando che, per il dato input, l'output (a parte le prime 6 righe) sia
ESATTAMENTE
quello riportato nell'esempio.
Esempio 1.
stdin:
1 1 123
1 0 1456
0 0 2940
1 1 7123
0 1 2456
0 0 2678
1 1 1990
0 0 4589
0 0 1717
stdout:
Mario
Rossi della Spigola
17
05
1723
mrds@nessun.posto.it
0 0 2940
1 0 1456
0 0 2678
0 1 2456
0 0 4589
0 0 1717
1 1 1990
1 1 7123
1 1 1123
Commento all'esempio 1.
L'albero usato nell'esempio 1 e':
123
/ \
1456 7123
/ / \
2940 2456 1990
\ / \
2678 4589 1717
Io stdin lo metto su un file txt e poi faccio la redirezione. A questo punto nel programma non so come fare a dire che se trova 1 nella prima colonna quel nodo ha figlio sinistro e se trova 0 no. Poi siccome i dati sono presi da stdin come faccio a metterli in postorder? E' un pò complicato... :what:
Ho un problema con un esercizio d'esame....
Posto il testo:
Progettare un programma C che legge in preordine
da stdin un albero binario etichettato con interi sui nodi
e lo stampa su stdout in postordine.
Si veda il file "format-tree.txt" per i formati di lettura e stampa
degli alberi.
L'input \`e formattato come segue.
<format T in preordine>
L'output \`e formattato come segue.
Le prime 6 righe di stampa sono formattate come segue.
<nome>
<cognome>
<giorno di nascita (2 cifre)>
<mese di nascita (2 cifre)>
<anno di nascita (4 cifre)>
<indirizzo email>
Le rimanenti righe sono formattate come segue.
<format T in postordine>
Ecco alcuni esempi per il programma dello studente Mario Rossi della Spigola
nato il 17.05.1723 ed email mrds@nessun.posto.it.
Testate il vostro programma almeno sugli esempi proposti
controllando che, per il dato input, l'output (a parte le prime 6 righe) sia
ESATTAMENTE
quello riportato nell'esempio.
Esempio 1.
stdin:
1 1 123
1 0 1456
0 0 2940
1 1 7123
0 1 2456
0 0 2678
1 1 1990
0 0 4589
0 0 1717
stdout:
Mario
Rossi della Spigola
17
05
1723
mrds@nessun.posto.it
0 0 2940
1 0 1456
0 0 2678
0 1 2456
0 0 4589
0 0 1717
1 1 1990
1 1 7123
1 1 1123
Commento all'esempio 1.
L'albero usato nell'esempio 1 e':
123
/ \
1456 7123
/ / \
2940 2456 1990
\ / \
2678 4589 1717
Io stdin lo metto su un file txt e poi faccio la redirezione. A questo punto nel programma non so come fare a dire che se trova 1 nella prima colonna quel nodo ha figlio sinistro e se trova 0 no. Poi siccome i dati sono presi da stdin come faccio a metterli in postorder? E' un pò complicato... :what: