PDA

Visualizza la versione completa : Trovare il livello massimo di nidificazione delle parentesi in C


TotalNoob
12-03-2015, 18:39
Ciao a tutti!

Non riesco a trovare un modo per contare (ricorsivamente) nidificazione delle parentesi in una espressione matimatica. La funzione deve prendere una sctringa che rapresenta espressione matimatica, tipo: 5 + (6 *(2*3)+ {4+5 + ( 2*3*(5)+9)}) + (5*7) e dovrebbe restituire il numero massimo di blocchi aperti ed chiusi (in questo caso sono 4). Pensavo per il caso base mettere la stringa vuota ed ritornare 0, per non mi viene la chiamata ricorsiva...

Se qualcuno di voi si gi sbatuto il naso contro un problemma simile, prego di darmi una mano:)
Grazie 1000 in anticipo!!!

linoma
12-03-2015, 20:37
Cs senza pensarci troppo scansioni la stringa fino a parentesi chiusa se trovi quella aperta richiami la funzione

TotalNoob
12-03-2015, 22:23
Ok, ma come faccio a capire quando ho trovato una parentesi chiusa se quella era aperta?))

Scara95
13-03-2015, 10:15
Non mi fa postare il codice, quindi posto un link.
http://ideone.com/QEEGSQ (http://ideone.com/QEEGSQ)
Molto per aggirare le limitazioni del C.

N.B. s utilizzato come una lista: s+1 equivale a tail *s equivale a head.
Ogni parentesi considerata equivalente: {(]) un input valido!

Loading