Salve a tutti,
ho un algoritmo in mente che dovrei creare ma mi sta sfuggendo totalmente come implementarlo, forse sono un pò con la testa nel pallone. Ve lo espongo che magari sono io che sono fuso.

In poche parole ho delle produzioni del tipo:

ABC > paperino

devo creare, dalla singola produzione, le seguenti tre produzioni:

ABC > DBC
DBC > DEC
DEC > DEF
(la parte prima del maggiore è la parte sinistra, quella dopo la parte destra)

Il giochino che fa è di volta in volta cambiare la lettera più a sinistra della parte sinistra, e appiccicarcela a destra e poi darla alla produzione di sotto finchè non si hanno cambiato tutte le lettere con lettere che non erano gia presenti. Ovviamente in questo caso si hanno 3 lettere, ma se ne potrebbero avere anche 4, 5,6... insomma diciamo un massimo di 50 per semplicità.

Ora non preoccupatevi della funzione di inserimento nella struttura dati come è strutturata, si limita a chiedere un vettore di char contenente la parte sinistra della produzione, un vettore di char contentente la parte destra, e due interi che sono le rispettive lunghezze.

Quello che mi preoccupa è di riuscire a creare una funzione che, ricevendo in input semplicemtente "ABC" e "3" che è il numero di caratteri, mi richiami rispettivamente la funzione di inserimento in questo modo:

Inserisci(ABC,DBC,3,3)
Inserisci(DBC,DEC,3,3)
Inserisci(DEC,DEF,3,3)

Ovviamente considerando che potrebbe ricevere anche "DEFGH" e "5" e a quel punto dovrà chiamare 5 volte la funzione di inserimento cambiando sempre di volta in volta il simbolo più a sinistra.

Vi ringrazio in anticipo,
Neptune.