Ok, innanzitutto grazie per la correzione, essendo uno alle prime armi certe funzioni come "atoi" non le conosco, ora mi sono informato, praticamente vediamo se ho capito


codice:
while ('\0'!=str[j]) {

		if ((str[j]>='0') && (str[j]<='9')) {

			somma += str[j] - '0';/*in questa fase per il compilatore i numeri      
                                                        estratti sono ancora char giusto ?*/
			nod[i] = str[j];
			i++;
		}

		j++;

}  

nod[i] = '\n';// con questo poni al termine dell'array il carattere '\0'
int cifra = atoi ( nod ) ;/* atoi non la conoscevo come funzione, trasforma l'array nod da 
                                   string in integer */
Praticamente io cercavo di fare il casting ed inserire direttamente gli elementi nell'array (sbagliando visto che nod è dichiarato char) invece con questo metodo la conversione a integer avviene alla fine.

ho capito bene ?

Grazie !